[英]MySQL syntax Error on Create Trigger
這是我的觸發器,我收到了MySQL語法錯誤。 我想減少來自sms_index 表 sms_count 列值的余額。
CREATE TRIGGER sms_log_update AFTER UPDATE ON sms_index
FOR EACH ROW
BEGIN
IF NEW.approved_status = '1' THEN
UPDATE sms_package SET balance = (balance - OLD.sms_count) WHERE group_id = OLD.ins_group_id;
END IF;
END;
錯誤信息:
#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 '' at line 5
您的代碼看起來正確,除了定界符可能存在的問題。 請嘗試以下操作:
DELIMITER //
CREATE TRIGGER sms_log_update AFTER UPDATE ON sms_index
FOR EACH ROW
BEGIN
IF NEW.approved_status = '1' THEN
UPDATE sms_package SET balance = (balance - OLD.sms_count)
WHERE group_id = OLD.ins_group_id;
END IF;
END;
DELIMITER ;
從文檔中 :
但是,就像存儲例程一樣,如果使用mysql程序定義執行多個語句的觸發器,則必須重新定義mysql語句定界符,以便可以使用;。 觸發器定義內的語句定界符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.