Jag stötte på detta och även om lösningen fungerar kom jag senare över vad som känns som en bättre lösning för mig. Jag misstänker att detta inte var ett alternativ när den här frågan ursprungligen besvarades.
CREATE TRIGGER `TestTable_SomeTrigger`
BEFORE UPDATE ON `test_table`
FOR EACH ROW
BEGIN
DECLARE msg VARCHAR(255);
IF (SomeTestToFail = "FAIL!") THEN
set msg = "DIE: You broke the rules... I will now Smite you, hold still...";
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = msg;
END IF;
-- Do any other code here you may want to occur if it's all OK or leave blank it will be
-- skipped if the above if is true
END$$
Detta kommer nu att returnera ett trevligt (eller ont!) felmeddelande som du kan fälla. För mer information om detta se:http://dev.mysql.com/doc/refman/5.5/en/signal.html
Jag hoppas att detta hjälper någon annan!