gpt4 book ai didi

MySQL更新前触发

转载 作者:行者123 更新时间:2023-11-29 13:24:25 25 4
gpt4 key购买 nike

我想在mysql中添加触发器...

CREATE TRIGGER mytrigger BEFORE INSERT ON table_1
FOR EACH ROW
BEGIN SET
NEW.`order` = (SELECT 1 + COALESCE((SELECT MAX(`order`) FROM `table_1`), 0));
END

我总是收到错误:

Error
SQL query: Documentation

CREATE TRIGGER mytrigger BEFORE INSERT ON table_1
FOR EACH
ROW
BEGIN SET NEW.`order` = ( SELECT 1 + COALESCE( (


SELECT MAX( `order` )
FROM `table_1` ) , 0 )
);

MySQL said: Documentation

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4

有什么想法吗?

最佳答案

您需要更改分隔符。否则引擎认为语句在第一个 ; 处完成。但这是错误的。

delimiter |
CREATE TRIGGER mytrigger BEFORE INSERT ON table_1
FOR EACH ROW
BEGIN
SET NEW.`order` = (SELECT 1 + COALESCE((SELECT MAX(`order`) FROM `table_1`), 0));
END
|
delimiter ;

关于MySQL更新前触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20349830/

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