簡體   English   中英

MySQL刪除觸發器中的語法錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM