簡體   English   中英

更新列后如何更新另一行的列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM