我有一个带有UNIQUE列约束的数据库,我从旧数据库插入行,这个约束不存在。
我想识别导致问题的行,现在这是因为它的开发数据没有问题,但是当系统处于生产状态时,我想要一个重复输入错误的通用处理程序。
现在我得到一个没有有用信息的\ Phalcon \ Db \ Exception(异常代码为0,异常消息只是查询,而不是/ a重复错误)这意味着我无法检测到mysql 1062重复错误代码。
如果我可以使用Phalcon_DUP_ERR之类的异常代码来捕获\ Phalcon \ Db \ Exception,或者为了识别出发生了1062 mysql错误,那么这就是我想要的东西,但只是不知道怎么做。
我在这里做错了什么,试过浏览Phalcon文档,但找不到任何关于处理mysql错误的信息?
答案 0 :(得分:2)
在0.5.0中,异常的错误模式是ERRMODE_SILENT。该模式不太有用,一些错误突然沉默(甚至是警告)。在0.5.1中,错误模式更改为ERRMODE_EXCEPTION,它将为您提供更好的信息。