MySQLIntegrityConstraintViolationException故障排除

时间:2010-06-23 21:22:58

标签: mysql exception

我有一个闭源升级应用程序,它将我的数据库从旧格式迁移到新格式(创建新表并将数据从旧表迁移到新表)。

应用程序因MySQLIntegrityConstraintViolationException崩溃。它没有给我带有主键冲突的表的名称或破坏的SQL查询的内容。

是否有任何MySQL服务器选项可以切换以提供更多故障排除信息?可能是失败的查询的文本或违反的主键约束的名称?

1 个答案:

答案 0 :(得分:0)

您可以启用常规日志文件:http://dev.mysql.com/doc/refman/5.1/en/query-log.html。这样就可以看到服务器在哪一点停止处理查询。

您还可以运行MySQL命令show processlist以查看当时正在处理的查询。

还要查看所有其他特定于应用程序的错误日志。

首次尝试可能是在迁移期间禁用外键检查: SET foreign_key_checks = 0;

第一个猜测是,旧服务器支持0作为主键值,而新服务器不支持。