After this trigger i dont get a warning if i inserted 5 in foo.x
\d $
CREATE TRIGGER `tri` BEFORE INSERT ON `foo` FOR EACH ROW
BEGIN
IF NEW.bar = 5 THEN
SIGNAL SQLSTATE '01002' SET MESSAGE_TEXT = 'MSG';
END IF;
END$\d ;
INSERT INTO `foo` values (5);
1 row affected
As documented under Changes in MySQL 5.5.8 (2010-12-03, General Availability):