Since MySQL ignores check constraints, how does one go about using a trigger to stop an insert or update from happening?
For example:
Table foo has an attribute called agency, and the agency attribute can only be 1, 2, 3, 4, or 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 ;
Or is there a better way to go about doing check constraints in MySQL?
Try the SIGNAL syntax – https://dev.mysql.com/doc/refman/5.5/en/signal.html
EDIT
Updated based on popular comment below by Bill Karwin.