BatchUpdateException - MySQL错误'重复条目' - 违反了哪个键/约束?

时间:2011-01-12 21:42:10

标签: mysql hibernate exception jdbc constraints

组合mysql / hibernate正在创建像

这样的异常堆栈跟踪
Caused by: java.sql.BatchUpdateException: Duplicate entry '7872551600-B1310955127' for key 2

at com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:652)    在org.jboss.resource.adapter.jdbc.WrappedStatement.executeBatch(WrappedStatement.java:519)    在org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)    在org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)    ... 51更多

现在发生的事情是显而易见的。有一个带约束的表(唯一键),并且违反了这个约束。

但所有例外情况都表明某些关键字'2'已被违反。有没有办法让mysql打印出违反了哪个约束?或者至少在哪个桌子上?

由于 霍尔格

1 个答案:

答案 0 :(得分:0)

键2是表格上的第二个索引。如果您有主键,则键2是此后的第一个索引。

我无法告诉你它是哪个表,但是一旦你弄明白如果你在该表上运行SHOW CREATE TABLE,它列出的第二个索引就是违反的那个。