sql >> Base de Datos >  >> RDS >> Mysql

Use un disparador para detener una inserción o actualización

Pruebe la sintaxis SIGNAL - https://dev.mysql.com/ doc/refman/5.5/en/signal.html

create trigger agency_check
before insert on foo
for each row
begin
  if (new.agency < 1 or new.agency >5) then
    SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'your error message';
  end if 
end

EDITAR

Actualizado según el comentario popular a continuación de Bill Karwin.