Как создать триггер с несколькими действиями в MySQL 5.0.45? - PullRequest
0 голосов
/ 25 августа 2010

Я работаю в 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).

Спасибо!

1 Ответ

2 голосов
/ 25 августа 2010

Вам необходимо сбросить существующий триггер, прежде чем создавать новый:

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