[英]Syntax error in MySQL delete trigger
幫助MySQL觸發器? 我正在嘗試在SQL中創建一個on delete插入觸發器...到目前為止,我已經:
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行...上報告語法錯誤。做這行的正確方法是什么?
詳細閱讀《 MySQL參考手冊》,尤其是“ 印刷和語法約定”部分(從第1行開始。 在語法描述中,方括號(“ [”和“]”)表示可選的單詞或從句 )。 查閱參考手冊,這是您代碼第二行中真正需要的部分。 您可以將代碼更改為(假設您希望使用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語法的更多信息,請參見《參考手冊》的“ 使用觸發器”部分。
方括號表示其中包含的內容是可選的-命令執行功能不需要任何內容,但可能要使用的內容取決於您使用命令的目的。 絕對不要使用方括號,因此在執行命令時也不要包含方括號。
僅當您要指定在觸發器激活時檢查訪問權限時要使用的MySQL帳戶時, DEFINER
部分才有用。 我會說這是一個高級主題,除非您知道自己需要它,否則應將其排除在外。
如果需要更詳細地描述DEFINER
功能,請參閱CREATE TRIGGER手冊 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.