帮助MySQL触发器? 我试图在我的SQL中创建一个删除插入触发器...我到目前为止:
CREATE
[DEFINER = {user| CURRENT_USER }]
TRIGGER ProjectDoneTrigger After Delete
ON Project FOR EACH ROW insert into projectover values(old.projectID,old.name,
old.Department,old.MaxHours, old.StartDate,
old.EndDate);
然而,MySQL在第一行报告语法错误[第2行...这条线的正确方法是什么?
答案 0 :(得分:0)
详细阅读MySQL参考手册,特别是Typographical and Syntax Conventions部分(从行开始,在语法描述中,方括号(“[”和“]”)表示可选的单词或从句。)。请参阅参考手册,您需要在代码的第二行中找到哪些部分。您可以将代码更改为(假设您需要TRIGGER
语句默认值):
CREATE TRIGGER ProjectDoneTrigger AFTER DELETE ON Project
FOR EACH ROW
INSERT INTO projectover
VALUES (old.projectID,old.name, old.Department,old.MaxHours,
old.StartDate, old.EndDate);
有关TRIGGER语法的更多信息,请查看参考手册的Using Triggers部分。
答案 1 :(得分:0)
Brackets表示其中包含的内容是可选的 - 无论是什么,命令都不需要运行,但可能是您想要使用的内容,具体取决于您使用该命令的内容。 从不按字面意思使用括号,因此在执行命令时不要包括它们。
DEFINER
部分仅在您想要在触发激活时检查访问权限时指定要使用的MySQL帐户时才有用。我会说这是一个高级主题,除非你知道你需要它,否则应该被排除在外。
如果想更详细地了解DEFINER
所做的事情,可以在CREATE TRIGGER manual中找到。