Как обновить столбец другой строки после обновления столбца - PullRequest
0 голосов
/ 17 апреля 2020

Как видно из заголовка, я хочу автоматически обновить столбец другой строки после обновления указанного столбца c.

У меня есть эта таблица

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 = идентификатор реферера. Например, aj упомянул 'john', поэтому он получил 40% от total_referral от john ie (140 * 40/100 = 56). Джон сослал Майкла, поэтому его indirect_referral будет составлять 40% от Майкла, т. е. (100 * 40/100 = 40).

Теперь я хочу автоматически увеличить indirect_referral реферера на 40% от total_referral реферала всякий раз, когда новый пользователь присоединяется через его реферальный идентификатор и платит = 1.

Скажите, пожалуйста, как я могу сделать этот процесс автоматически, и спасибо заранее.

1 Ответ

0 голосов
/ 18 апреля 2020

Ваша проблема хитрая. Но это может быть решено с помощью рекурсивного оператора SQL, также называемого CTE (общее табличное выражение). Там у вас есть один начальный запрос в качестве элемента привязки (строка, которую вы хотите вставить) и рекурсивный запрос, который вызывает себя снова и снова.

Посмотрите на эту ссылку для более глубокого объяснения: https://www.mysqltutorial.org/mysql-recursive-cte/

Еще один способ решения вашей проблемы - сделать множество SQL запросов, которыми вы управляете с помощью кода PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...