我知道 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 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 上测试过)