2010-08-25 41 views
0

我正在phpMyAdmin中工作,我是新创建MySQL 5.0.45触发器的。我试图创建一个触发器,当值超出范围时,通过抛出一个错误来帮助我验证数据。如何在MySQL 5.0.45中使用多个操作创建触发器?

这只是正常:

create trigger t1 
before insert 
on hvi 
for each row 
    begin 
    declare dummy int; 
    if new.`Moist (dry%)` <1 then 
    select `Moist(dry%) cannot be less than 1` 
    into dummy 
    from hvi 
    where id = new.`Moist (dry%)`; 
    end if; 
end; 

但我需要更多的行动,加入到这个触发。我厌倦了这一点:

create trigger t1 
before insert 
on hvi 
for each row 
    begin 
    declare dummy int; 
    if new.`Moist (dry%)` <1 then 
    select `Moist(dry%) cannot be less than 1` 
    into dummy 
    from hvi 
    where id = new.`Moist (dry%)`; 
    end if; 
    if new.`Moist (dry%)` >50 then 
    select `Moist(dry%) cannot be greater than 50` 
    into dummy 
    from hvi 
    where id = new.`Moist (dry%)`; 
    end if; 
end; 

但它返回此错误“#1235 - 该版本的MySQL还不支持‘多个触发器使用相同的动作时间和事件一个表’”

有谁知道如何将多个动作添加到触发器? (多个if-then语句?我最终需要添加大约20个。)

谢谢!

回答

2

您需要创建新的人之前先放弃你现有的触发器:

DROP TRIGGER IF EXISTS t1; 
CREATE TRIGGER t1 
... 
+0

艾克是正确的在这里。我不小心在这张桌子上有另一个触发器。一旦我删除它。 。 。我可以在这里创建我的t1,没有任何问题。 – kmcamara 2011-06-09 17:04:13