簡體   English   中英

MySQL THEN觸發器中的語法錯誤

[英]Syntax error in MySQL THEN trigger

我有這兩個觸發器,但都在“ THEN”處給出了語法錯誤,我無法弄清原因。 所有表都像它們一樣被調用,依此類推,我在定界符中啟動它:

CREATE TRIGGER capacity
AFTER INSERT ON Participants
FOR EACH ROW
BEGIN
IF  (NEW.status = 'a' AND
    (SELECT capacity FROM rooms WHERE room = NEW.PID) > (SELECT COUNT(*) FROM Participants WHERE meetID = NEW.meetID) THEN DELETE FROM Participants WHERE PID = NEW.PID AND meetID = NEW.meetID;
    END IF;
    END $$

CREATE TRIGGER iraLikesBeer
AFTER INSERT ON  Meetings
FOR EACH ROW
BEGIN
IF ( NEW.what LIKE '%beer%' AND 'ira' NOT IN(SELECT pid FROM Participants WHERE meetid = 'NEW.meetid') THEN
    INSERT INTO Participants
    VALUES (NEW.meetID,'ira', 'u');
END IF;
    END $$

您的兩個觸發器定義都有不平衡的括號。

IF  (NEW.status = 'a' AND (SELECT ...) > (SELECT ...) THEN ...
    ^

第一個打開的括號沒有封閉的括號。

您的第二個觸發器中存在相同的問題。

暫無
暫無

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

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