【发布时间】:2018-09-29 08:04:47
【问题描述】:
创建表:
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
错误代码:1064。您的 SQL 语法有错误;检查 与您的 MySQL 服务器版本相对应的手册 在第 8 行的 'END GO' 附近使用的语法 0.000 秒
【问题讨论】:
-
编辑您的问题并添加错误消息的全文
-
您在
UPDATE查询末尾和END之后缺少; -
看来您使用的是 MSSQL,不是吗..?
-
在开始和结束之间尝试这段代码:UPDATE Persons SET Review_Date = DATEADD(year,1,Birth_Date);
-
mysql中没有
GO
标签: mysql sql triggers database-trigger