0

我在 phpMyAdmin 工作,我是创建 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 个。)

谢谢!

4

1 回答 1

2

在创建新触发器之前,您需要删除现有触发器:

DROP TRIGGER IF EXISTS t1;
CREATE TRIGGER t1
...
于 2010-08-25T19:43:17.677 回答