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