gpt4 book ai didi

mysql - 在 MYSQL 的 INSERT 期间创建触发器显示错误

转载 作者:行者123 更新时间:2023-12-01 00:35:26 25 4
gpt4 key购买 nike

创建表:

CREATE TABLE Persons (
ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Birth_Date date,
Review_Date date,
PRIMARY KEY (ID)
);

在向该表中插入数据时,我想添加一个触发器,该触发器将更新 Review_Date 列的值为从出生日期算起 1 年。下面是我编写的触发器,它显示错误。

CREATE TRIGGER tri_Test_Insert_Trigger 
AFTER INSERT
ON persons
FOR Each row
BEGIN
UPDATE persons
SET review_date = dateadd(year,1,birth_date)
END
GO

Error Code: 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 'END GO' at line 8 0.000 sec

最佳答案

触发器中需要更新三件事:

一个。需要在 UPDATE sql
末尾添加 ;b.删除触发器末尾的 GO 并改用 DELIMITER
C。 dateadd需要改为date_add

 DELIMITER $$
CREATE TRIGGER tri_Test_Insert_Trigger
AFTER INSERT
ON persons
FOR Each row
BEGIN
UPDATE persons
SET review_date = date_add(year,1,birth_date); -- add ; here
END$$
DELIMITER ; -- remove GO and use DELIMITER instead

关于mysql - 在 MYSQL 的 INSERT 期间创建触发器显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52566431/

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