我正在尝试找出更新 MySQL 表的条件触发器。问题是即使输入的数据与已经存在的数据相同,更新触发器也会触发。因此,如果我有一个带有 row:value 的列设置为这样 plus_votes:2 如果我更新UPDATE votes SET plus_votes = 2;
即使没有真正改变 UPDATE 触发器仍然会被触发。所以为了防止这一切,我想像这样在我的触发器中添加一个条件子句
BEGIN
IF NEW.vote_value <> OLD.vote_value THEN
UPDATE my_other_table
SET plus_votes =
CASE NEW.vote_value WHEN '1'
THEN plus_votes + 1
ELSE plus_votes
END,
minus_votes =
CASE NEW.vote_value WHEN '1'
THEN minus_votes
ELSE minus_votes +1
END
WHERE my_other_table.id=NEW.votes_join_id;
END
结尾
问题的后半部分是我在 IF 语句中有 CASE 条件。有人可以帮助解决这个问题并展示如何在 TRIGGER 中执行嵌套条件吗?
非常感激