簡體   English   中英

創建觸發器以在MySQL中插入時跳過行時出錯

[英]Error creating a trigger to skip lines on insert in MySQL

我有一個錯誤,我無法理解它。 這是我的觸發器的代碼:

CREATE TRIGGER before_insert_test
BEFORE INSERT ON player_totals FOR EACH ROW
BEGIN
    IF NEW.Player = 'Player' THEN
        SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'basketball-reference duplicate header';
    END IF;
END;

我在MySQL workbench源代碼編輯器中獲得3行的紅色錯誤標記。 對於開始SIGNAL SQLSTATE ... ,它說:

語法錯誤:缺少'分號'

對於讀取END IF;的行END IF; ,錯誤說:

語法錯誤:END(end)無效輸入此位置。

對於讀取END;的行END; ,錯誤說:

發現無關輸入 - 預期結束語

只是不確定如何修復這些錯誤,從我看到的這看起來像正確的語法...

嘗試這個,在END之后使用$$

DELIMITER $$

CREATE TRIGGER before_insert_test
BEFORE INSERT ON player_totals 
FOR EACH ROW
BEGIN
    IF NEW.Player = 'Player' THEN
        SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'basketball-reference duplicate header';
    END IF;
END; $$

DELIMITER ;

暫無
暫無

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

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