Tôi đã bắt gặp điều này và mặc dù giải pháp này hoạt động sau đó, tôi đã gặp lại những gì tôi cảm thấy giống như một giải pháp tốt hơn. Tôi nghi ngờ đây không phải là một lựa chọn khi câu hỏi này đã được trả lời ban đầu.
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$$
Thao tác này bây giờ sẽ trả về một thông báo lỗi đẹp (hoặc xấu!) Mà bạn có thể mắc phải. Để biết thêm thông tin về điều này, hãy xem:http://dev.mysql.com/doc/refman/5.5/en/signal.html
Tôi hy vọng điều này sẽ giúp ích cho người khác!