mysql - MySQLIntegrityConstraintViolationException 故障排除

标签 mysql exception

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

应用程序崩溃并出现 MySQLIntegrityConstraintViolationException。它没有给我主键违规的表的名称或损坏的 SQL 查询的内容。

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

最佳答案

您可以启用通用日志文件:http://dev.mysql.com/doc/refman/5.1/en/query-log.html .这样就有可能看到服务器在什么时候停止处理查询。

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

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

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

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

关于mysql - MySQLIntegrityConstraintViolationException 故障排除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3105655/

相关文章:

python - 处理导入的模块异常

exception - 如何在 Haskell 中抛出异常并退出程序?

matlab - 您如何以异常安全的方式处理 MATLAB 中的资源? (比如 "try ... finally")

java - 正确打印servlet异常的stacktrace

java - 如何捕获 sun.awt.image.PNGImageDecoder$PNGException?

python - 根据表中的现有属性在 Python 中填充 SQL 表

java - 错误: com. mysql.jdbc.JDBC4Connection无法转换为com.mysql.jdbc.Statement

php - 如何选择 mySQL 数据库表的最新条目?

MySQL 从 2 个不同表中的一行中选择多行

mysql - Laravel 中使用不同查询进行左连接