我知道 mysql 5.5 允许使用SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Error: ...';引发用户定义的错误。如果将其放在某些表中,此错误将停止INSERT操作。BEFORE INSERT TRIGGER并且它也很方便PDO捕获PDOException并输出错误信息(),即MESSAGE_TEXT定义在SIGNAL SQLSTATE.
但是,我租用的服务器上的mysql版本是mysql 5.1。而且我想知道如何使用SIGNAL SQLSTATEMENTmysql 5.5 中的功能引发用户定义的错误。
insert在before insert触发时中断操作- 可以被
PDO
我发现了一些关于类似问题的主题,并且我尝试了这些:
调用一个不存在的过程
调用“sp_raise_error”;
使用函数抛出错误
https://blogs.oracle.com/svetasmirnova/entry/how_to_raise_error_in
两者都抓不住PDO。那么有什么解决办法呢?(我在 MySQL5.5 上测试过)