Используйте триггер, чтобы остановить вставку или обновление

Поскольку MySQL игнорирует проверочные ограничения, как можно использовать триггер, чтобы предотвратить вставку или обновление?

Например,:

Таблица foo имеет атрибут, называемый агентством, а атрибут агентства может принимать значения только 1, 2, 3, 4 или 5.

delimiter $$
create trigger agency_check
before insert on foo
for each row
begin
if (new.agency < 1 or new.agency > 5) then

#Do nothing?

end if;
end
$$
delimiter ;

Или есть лучший способ выполнить контрольные ограничения в MySQL?

16
задан Ryan 16 April 2012 в 03:43
поделиться