一、问题

插入数据时报错

Duplicate entry * for key *

二、分析

建表语句

CREATE TABLE `t_product_result_config` (
`id` varchar(32) NOT NULL,
`type` tinyint(4) NOT NULL COMMENT '条件类型 0:优秀,1:一般',
`product_condition` json DEFAULT NULL COMMENT '条件对象JSON',
`create_user_id` varchar(32) NOT NULL COMMENT '条件所属用户id',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`gender` tinyint(4) NOT NULL COMMENT '性别类型 0:男,1:女,2:中性',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_id` (`id`),
UNIQUE KEY `uk_type_create_user_id` (`type`,`create_user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='测品结果条件表';

插入的SQL

问题定位

UNIQUE KEY uk_type_create_user_id (type,create_user_id)

相同的create_user_id和type下,由于UNIQUE KEY限制,只能存在一条数据;而产品需求是能建不同性别的数据,所以需要新增一个关联字段

三、解决方案

ALTER TABLE t_product_result_config DROP INDEX `uk_type_create_user_id`;
ALTER TABLE t_product_result_config ADD UNIQUE KEY `uk_type_create_user_id`(`type`,`gender`,`create_user_id`);

Duplicate entry * for key *的更多相关文章

  1. 数据库出错提示Duplicate entry * for key *的解决方法

    错误编号:1062 错误提示: 查询语句错误] ERR: Duplicate entry ' for key 'PRIMARY' SQL: ' PHP: misc.php: ; IP 问题分析: 向唯 ...

  2. Duplicate entry '' for key 'PRIMARY'

    今天在在mysql中插入数据 因为直接插入查询出来的表格,insert into 表(student_id,class_id) 直接插入了这两个字段对应的查询出来的表 没有留意到该表的主键没有设置自增 ...

  3. Duplicate entry '' for key 'username'

    一.报错信息: ERROR 2019-04-22 02:00:29,971 exceptions 30 [<wechat.views.WixinView object at 0x7f3bb01d ...

  4. java向数据库插入数据时的错误: Duplicate entry '' for key 'PRIMARY' 问题解决

    错误提示为:你插入的记录与数据表中原有记录的主键重复了(Duplicate).所以插入失败 mysql主键设置成auto_increment时,进行并发性能测试出现主键反复Duplicate entr ...

  5. ERROR 1062 (23000): Duplicate entry for key 'PRIMARY'

    ALTER TABLE table1 ADD COLUMN column1 VARCHAR(400) DEFAULT NULL; ERROR 1062 (23000): Duplicate entry ...

  6. navicat 手动设置索引unique,报错duplicate entry "" for key ""

    错误场景:仅限于手动设置unique时.在navicat中根据流程:右键表名 -> 设计表 -> 索引 -> 设置某列为unique -> 保存错误图示: 错误原因:这句错误提 ...

  7. Duplicate entry '4799' for key 'PRIMARY'

    增加1条SQL记录报错: Operation failed: There was an error while applying the SQL script to the database. Exe ...

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

    ### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolatio ...

  9. Duplicate entry 'javajavajav' for key 'username'

    org.apache.ibatis.exceptions.PersistenceException: ### Error updating database.  Cause: com.mysql.jd ...

随机推荐

  1. Android--实现ViewPager边界回弹效果(转)

    该View转自   http://blog.csdn.net/Kalwang/article/details/4708721  ,感谢这位大神. public class BounceBackView ...

  2. git本地仓库关联多个remote,怎么用本地一个分支向不同remote不同分支推送代码

    我想这个问题,是大家关注的问题,这个问题,我非常关注. 背景:在公司开发项目,我们一般都要把项目推送到公司领导创建的一个远程仓库里边去,但是我们同时也有自己的小仓库,这样的话,如何方便的将我们的代码, ...

  3. 在 Azure Resource Manager 模板中使用托管磁盘

    本文介绍使用 Azure Resource Manager 模板预配虚拟机时托管与非托管磁盘之间的差异. 这有助于将现有模板从使用非托管磁盘更新为使用托管磁盘. 我们将使用 101-vm-simple ...

  4. Excel表格规范

    数据处理: 在数据进行分析使用时,需要去除原始数据中的脏数据,让统计数据均为有效数据: 统一表格的格式:去除空格.强制换行符 CLEAN()函数:是去除单元格中的特殊字符: TRIM()函数:去除单元 ...

  5. HDU ACM 3790 最短路径问题

    最短路径问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  6. PLSQL操作Oracle创建用户和表

    1.打开PLSQL,填写用户名和密码(初始有两个用户sys和system,密码是自己安装oracle数据库时定的),Database选择ORCL(默认数据库,oracle中创建的用户就像是mysql中 ...

  7. SQL易错总结1

    SQL易错总结1 进阶 select语句.select * 查询所有不规范,写出要查的属性.distinct慎用,性能消耗很大 like 模糊查询 ,空值判断是 is null 单行函数:lower( ...

  8. File类_深度遍历文件夹_练习

    遍历指定目录下的所有文件和文件夹 import java.io.File; public class FileTest { public static void main(String[] args) ...

  9. Luogu P4705 玩游戏

    题目描述 Alice 和 Bob 又在玩游戏. 对于一次游戏,首先 Alice 获得一个长度为 ​ 的序列 ​,Bob 获得一个长度为 ​ 的序列 bb.之后他们各从自己的序列里随机取出一个数,分别设 ...

  10. Linux操作系统中打开文件数量的查看方法

    Linux操作系统中打开文件数量的查看方法ulimit -n 4096也就是限制用户的最大文件打开数为4096个 在网上查了关于怎么查看文件打开数的文章大致有两种说法/proc/sys/fs/file ...