我想要做的是在用户的帐户下添加一些信用额度(用户信用额的10%)到每个第3,第6,第9和第12(不是更多)用户添加到数据库中link(但邀请链接在这里并不重要 - 每个用户都有索引列,其中包含其邀请者的ID)。
所以这样的事情(抱歉为“伪代码”,我从来没有使用触发器,可能不会很快,所以我不知道如何正确编写它):
UPDATE accounts.credit = accounts.credit + (accounts.credit/10)
ON INSERT INTO users (AND when inserted row % 3 == 0 to some user)
WHERE k_user = this
或者有更简单的方法如何做到这一点?我可以处理PHP,但我认为脚本只有在用户访问网站时才能执行...
答案 0 :(得分:1)
考虑使用触发器https://dev.mysql.com/doc/refman/5.7/en/trigger-syntax.html
delimiter $$
CREATE TRIGGER upd_check AFTER INSERT ON users
FOR EACH ROW
BEGIN
IF NEW.id % 3 = 0 THEN
UPDATE accounts SET credit = credit + (credit / 10) where k_user = NEW.id
END IF;
END;$$
delimiter ;