簡體   English   中英

MySQL觸發器語法錯誤

[英]MySQL Trigger Syntax Error

使用InnoDB在MySQL 5.5.9上運行。

我創建了以下觸發器:

CREATE TRIGGER TRIGGER_Products_Insert
AFTER INSERT ON Products

FOR EACH ROW
BEGIN
UPDATE Products
SET current = 0
WHERE   id = new.id
    AND current = 1
    AND autonumber <> new.autonumber
END;

MySQLWorkbench在最后一行顯示語法錯誤,執行此操作會引發以下錯誤

錯誤代碼:1064。您的SQL語法有錯誤; 檢查與MySQL服務器版本對應的手冊,以便在第11行的“END”附近使用正確的語法

我的錯誤在哪里?

http://dev.mysql.com/doc/refman/5.5/en/create-trigger.html

DELIMITER |

CREATE TRIGGER TRIGGER_Products_Insert AFTER INSERT ON Products
    FOR EACH ROW BEGIN
        UPDATE Products
        SET current = 0
        WHERE   id = new.id
            AND current = 1
            AND autonumber <> new.autonumber;
    END;
|

DELIMITER ;

你錯過了; 在您的END關鍵字之前:

CREATE TRIGGER TRIGGER_Products_Insert
AFTER INSERT ON Products

FOR EACH ROW
BEGIN
UPDATE Products
SET current = 0
WHERE   id = new.id
    AND current = 1
    AND autonumber <> new.autonumber;
END;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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