[英]How to update another row's column after update on a column
正如標題所說,我想在更新特定列后自動更新另一行的列。
我有這張桌子
id username direct_referral indirect_referral total_referral referrer_id paid
---------------------------------------------------------------------------------
1 aj 100 56 156 1 1
2 john 100 40 140 1 1
3 michael 100 0 100 2 1
現在在這個表中refferer_id
= 推薦人的id。 例如,aj 推薦了“john”,因此他獲得了 john 的total_referral
的 40%,即(140*40/100 = 56)。 john 推薦了 michael,因此他的indirect_referral
將是 michael 的 40%,即 (100*40/100 = 40)。
現在,每當新用戶通過他的推薦 ID 加入並支付 = 1 時,我想自動將推薦人的indirect_referral
推薦人增加推薦人的total_referral
推薦人的 40%。
請告訴我如何自動執行此過程,並提前致謝。
你的問題很棘手。 但它可能可以通過遞歸 SQL 語句解決,也稱為 CTE(公用表表達式)。 在那里,您有一個初始查詢作為錨成員(您要插入的行)和一個反復調用自身的遞歸查詢。
查看該鏈接以獲得更深入的解釋: https://www.mysqltutorial.org/mysql-recursive-cte/
解決問題的另一種方法是進行大量 SQL 查詢,您可以通過 PHP 代碼管理這些查詢。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.