2010-08-25 54 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