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