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

### Error updating database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry ‘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 '字段名'的解决

原文地址:https://www.cnblogs.com/manmanchanglu/p/12044400.html

时间: 2024-11-14 02:04:18

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

Nagios监控MySQL报错:NRPE: Unable to read output的详细解决过程

前言:nagios界面上,看到监控mysql服务报错如下: Warning:NRPE: Unable to read output 1,去nagios监控服务器上check下 1.1,执行check_nrpe命令远程调用 在监控端nagios服务器上执行check_nrpe检查mysql状态报错如下: [[email protected] ~]# /usr/lib/nagios/plugins/check_nrpe  -H192.xx.180.xx -c check_mysql_status N

PHP连接MySQL报错"No such file or directory"的解决办法

好下面说一下连接MYSQL数据库时报错的解决办法. 1,首先确定是mysql_connect()和mysql_pconnect()的问题,故障现象就是函数返回空,而mysql_error()返回“No such file or directory” 2,写个phpinfo页面,找到mysql.default_socket.mysqli.default_socket.pdo_mysql.default_socket 3,启动mysql(见说明2),执行命令 STATUS; 记下UNIX socke

Mac下PHP连接MySQL报错"No such file or directory"的解决办法

首先做个简短的介绍. [说明1]MAC下MYSQL的安装路径: /usr/local/mysql-5.1.63-osx10.6-x86_64 数据库的数据文件在该目录的data文件夹中: 命令文件在bin文件夹中. [说明2]通过终端打开MYSQL命令行的方法: /usr/local/mysql-5.1.63-osx10.6-x86_64 好下面说一下连接MYSQL数据库时报错的解决办法. 1,首先确定是mysql_connect()和mysql_pconnect()的问题,故障现象就是函数返回

CentOS7安装MySQL报错Failed to start mysqld.service: Unit not found解决办法

1 ~]# systemctl start mysql.service 要启动MySQL数据库是却是这样的提示 1 ~]# Failed to start mysqld.service: Unit not found 解决方法如下: 首先需要安装mysql-server 1 ~]# yum install -y mysql-server 启动服务 1 ~]# systemctl start mysqld.service 添加到开机启动 1 ~]# systemctl enable mysqld.

MySQL 报错:MySQL Illegal mix of collations for operation 'like'

MySQL Illegal mix of collations for operation 'like' 在 MySQL 5.5 以上, 若字段类型 Type 是 time,date,datetime 在 select时如果使用 like '%中文%' 会出现 Illegal mix of collations for operation 'like'在编程时要对每个字段进行查找, 在执行时可能就会出现时间字段 like '%中文%' 这种语法,在旧版的 MySQL 是不会出现错误的. 升到 M

Duplicate entry '1' for key 'PRIMARY'(报错)

使用MySQL+ibatis进行插入测试的时候,报错:信息如下: 测试插入 com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in com/study/ibatis/Student.xml. --- The error occurred while applying a parameter map. --- Check the addStudent-InlineParameterMap. ---

mysql插入数据报错IntegrityError: (1062, "Duplicate entry 'xx' for key 'xxxxx'")

1.问题描述 MySQL插入数据的时候报错,提示如下: IntegrityError: (1062, "Duplicate entry 'xx' for key 'xxxxx'")2.问题分析 根据错误提示我们可以大致得到以下信息: 1.IntegrityError表示这个字段在MySQL中的类型为:整型. 2.Duplicate Entry:“Duplicate”——something that is an exact copy  of something else.所以这句话的意思

mysql报错序号对应的错误

mysql报错序号对应的错误 1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败<=================可以忽略 1008:数据库不存在,删除数据库失败<=================可以忽略 1009:不能删除数据库文件导致删除数据库失败 1010:不能删除数据目录导致删除数据库失败 1011:删除数据库文件失败 1012:不能读取系统表中的记录 1020:记录已被其他用户修改 1021:硬盘剩余空间不足,请加大硬盘可用空间 1022:关键

Mysql报错message from server: ERROR 1062 (23000):

Mysql连接报错:java.sql.SQLException:null,message from server:"Host '27,45,38,132' is not allowed to connect. 原因是:远程服务器不允许你的java程序访问它的数据库.所以,我们要对远程服务器进行设置,使它允许你进行连接. 工具sqldeveloper连接远程的MySQL 数据库时,配置连接信息,连接发生错误,提示:message from server: "Host '192.168.1