当前位置:Gxlcms > 数据库问题 > 遇到的错误:Mysql 报错Duplicate entry '值' for key '字段名'的解决

遇到的错误:Mysql 报错Duplicate entry '值' for key '字段名'的解决

时间:2021-07-01 10:21:17 帮助过:3人阅读

admin for key user_name_unique ### The error may involve com.mmall.dao.UserMapper.insert-Inline ### The error occurred while setting parameters ### SQL: insert into mmall_user (id, username, password, email, phone, question, answer, role, create_time, update_time) values (?, ?, ?, ?, ?, ?, ?, ?, now(), now()) ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry admin for key user_name_unique ; SQL []; Duplicate entry admin for key user_name_unique; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry admin for key user_name_unique] with root cause com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry admin for key user_name_unique at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) at com.mysql.jdbc.Util.getInstance(Util.java:408) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530)

二、问题解释:
Duplicate entry...for key...的错误原因是主键的唯一值重复,在对数据库进行修改、插入操作时,一但主键的唯一值重复就会报此错误,有时在表中存在多个相同主键时,对表操作报此错误,
(ps:我的表中数据主键有两个相同的主键,在使用把一张表数据导入到另一张表的数据时使用主键字段结果报错。)
三、解决方法:
第一种,如果主键不是必需要的字段,就不用主键
第二种,先把表中重复去除,在进行操作

遇到的错误:Mysql 报错Duplicate entry '值' for key '字段名'的解决

标签:entry   int   exce   tin   admin   win   color   原因   col   

人气教程排行