gpt4 book ai didi

MySQL 触发器 'update on column' 语法

转载 作者:IT老高 更新时间:2023-10-29 00:00:45 26 4
gpt4 key购买 nike

我们可以在更新特定列时使用 MySQL 触发器,它会更新同一表(同一行)中的另一列

create trigger my_trigger
BEFORE UPDATE OF col1, col2 ON TABLE_NAME
for each row
set NEW.col3 = NEW.col3 +1;

我使用 UPDATE OF col1, col2 尝试了上面的代码。它在 MySQL 中不起作用。什么是正确的语法,谁能给我指出一些例子。

最佳答案

您不能指定触发器仅在更新特定列时运行(UPDATE 影响整个记录),但您可以测试哪些列已在触发器中更新:

DELIMITER ;;

CREATE TRIGGER my_trigger BEFORE UPDATE ON TABLE_NAME FOR EACH ROW
IF NOT (NEW.col1 <=> OLD.col1 AND NEW.col2 <=> OLD.col2) THEN
SET NEW.col3 = NEW.col3 + 1;
END IF;;

DELIMITER ;

关于MySQL 触发器 'update on column' 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10356967/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com