在MySQL中记录查询错误

我们有一个使用多个SQL查询的应用程序,有时可能会产生奇怪的错误。 例如,它可能是:
INSERT INTO TABLE (ID, FIELD) VALUES (1, "field value");
这将导致:
ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'
因为违反了唯一的主键约束。 是否有可能在MySQL以某种方式记录错误以及导致它的查询?我试图在/etc/mysql/my.cnf中启用错误日志和常规日志,但它从未产生预期的结果。我可以启用每个查询的记录而不会出现错误(对我们来说没用,我们只对导致错误的查询感兴趣)。 应用程序可以捕获错误(在我们的例子中,我们使用的是Perl DBI),但是当存储过程中有多个语句时,我们不知道哪个错误消息不包含文本查询,甚至涉及的表的名称。这使得故障排除非常困难。 我相信我错过了一些明显的东西。例如,在Oracle中,这是默认行为,查询错误会记录到文本文件中,以便轻松识别。     
已邀请:
这是客户的事情。隔离访问层中的数据库访问并在客户端上生成日志。数据库无法记录此信息。     

要回复问题请先登录注册