gpt4 book ai didi

mysql - 在表中的更新列上创建触发器

转载 作者:行者123 更新时间:2023-11-29 10:49:53 26 4
gpt4 key购买 nike

我尝试在表更新之前创建触发器。我希望它在两个特定列更改时起作用:status 和 sale_profit 列。如果这些列之一被更新,触发器必须将 is_changed 列的值设置为 1。但是下面的代码给了我这样的错误:

错误:

 MySQL Error 1064: You have an error in your SQL syntax ... syntax use near at line 7

SQL 代码:

 CREATE  TRIGGER  updateIsChanged
BEFORE UPDATE ON manage_product
FOR EACH ROW
BEGIN
IF NEW.`status` <> OLD.`status` || NEW.sale_profit <> OLD.sale_profit
then
SET NEW.is_changed = 1;


END IF;
END

最佳答案

好的。我通过在代码的开头和结尾添加分隔符解决了我的问题。

更新代码:

delimiter $$
CREATE TRIGGER updateIsChanged
BEFORE UPDATE ON manage_product
FOR EACH ROW
BEGIN
IF NEW.`status` <> OLD.`status` || NEW.sale_profit <> OLD.sale_profit THEN
SET NEW.is_changed = 1;
END IF;
END$$

关于mysql - 在表中的更新列上创建触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43930484/

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