Я знаю, что mysql 5.5 позволяет использовать SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Error: ...'; для повышения пользовательской ошибки. И эта ошибка остановит операцию INSERT если она была помещена в BEFORE INSERT TRIGGER на некоторые таблицы. И PDO также удобно поймать PDOException и вывести errorinfo (), то есть MESSAGE_TEXT определенный в SIGNAL SQLSTATE .
Тем не менее, версия mysql на сервере, который я арендую, – это mysql 5.1. И я хочу знать, как я могу повысить пользовательскую ошибку с такими функциями, как SIGNAL SQLSTATEMENT в mysql 5.5.
insert когда она находится before insert запуска триггера PDO Я нашел некоторые темы по подобным проблемам, и я пробовал:
вызвать неэкскую процедуру
вызовите `sp_raise_error`;
использовать функцию для выброса ошибки
https://blogs.oracle.com/svetasmirnova/entry/how_to_raise_error_in
PDO не может быть пойман. Так что же такое решение? (Я тестировал на MySQL5.5)