繁体   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