Duplicate entry for key 'PRIMARY'
2018-03-19 15:10
323 查看
错误场景:
更新同事代码之后启动报错,代码中的bug
具体的堆栈信息:
错误原因:
主键自增的表进行了同主键的重复插入,也就是常说的主键冲突。
解决方案:
1、根据个人具体场景,不重复插入数据即可
2、插入数据的时候,不设置主键的值
3、插入数据的时候使用insert ignore ,保证已有记录便不再插入
更新同事代码之后启动报错,代码中的bug
具体的堆栈信息:
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '1' for key 'PRIMARY' at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at com.mysql.jdbc.Util.handleNewInstance(Util.java:404) at com.mysql.jdbc.Util.getInstance(Util.java:387) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:932) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3878) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3814) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2478) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2551) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861) at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2073) at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2009) at com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.ja 9dd4 va:5094) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1994) ...
错误原因:
主键自增的表进行了同主键的重复插入,也就是常说的主键冲突。
解决方案:
1、根据个人具体场景,不重复插入数据即可
2、插入数据的时候,不设置主键的值
3、插入数据的时候使用insert ignore ,保证已有记录便不再插入
相关文章推荐
- mysql 主键重复问题解决 Duplicate entry '787192513' for key 'PRIMARY'
- Duplicate entry '0' for key 'PRIMARY'
- Last_Errno: 1062,Last_Error: Error 'Duplicate entry '...' for key 'PRIMARY'' on query. 的详细分析过程
- Duplicate entry 'XXX' for key 'PRIMARY'
- mysql出现Duplicate entry '0' for key 'PRIMARY'的错误
- mysql 导入时错误 #1062 –Duplicate entry '1' for key 'PRIMARY'
- Duplicate entry '0' for key 'PRIMARY'.
- [Err] 1062 - Duplicate entry '' for key 'PRIMARY'
- ERROR 1062 (23000): Duplicate entry '0' for key 'PRIMARY'
- Duplicate entry '1000094731-2' for key 'PRIMARY', Error_code: 1062;
- Duplicate entry '##' for key 'PRIMARY'
- Duplicate entry '1' for key 'PRIMARY'
- Duplicate entry 't_id' for key 'PRIMARY' 错误
- mysql主键设置成auto_increment时,进行并发性能測试出现主键反复Duplicate entry 'xxx' for key 'PRIMARY'
- mysql主键设置成auto_increment时,进行并发性能测试出现主键重复Duplicate entry 'xxx' for key 'PRIMARY'
- 增加字段改为主键后:1062-Duplicate entry '' for key 'PRIMARY'
- Duplicate entry '127' for key 'PRIMARY'
- [Err] 1062 - Duplicate entry '111' for key 'PRIMARY'
- MySQLIntegrityConstraintViolationException: Duplicate entry '***' for key 'PRIMARY'
- 错误:Duplicate entry '*' for key 'PRIMARY'