我想定義一個觸發器來檢查特定值的條目數,並且如果數字大於三,則不允許使用該特定行來輸入新行。但是它會引發錯誤。 這裏是我的代碼:重複sql行上的觸發器
delimiter $$
CREATE TRIGGER `timeslotattendantcheck`
BEFORE INSERT ON `attendants`
FOR EACH ROW
BEGIN
DECLARE v_dup int;
SET v_dup = (SELECT COUNT(*) from attendants where attendant = NEW.attendant);
if v_dup > 3 then
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Too many attendants for one time slot. The insert is cancelled.';
end if;
end $$
delimiter ;
讓我們不提它拋出的錯誤。 – 2014-10-20 19:59:15
你在你的sql語法中有錯誤;請查看與您的mysql服務器版本對應的'signal sqlstate'45000'設置message_text ='太多的服務員一次性'在第5行的手冊 – gnas 2014-10-20 20:01:17
您使用的是什麼版本的MySQL? – 2014-10-20 20:02:44