一、问题

插入数据时报错

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. 你不可不知的Java引用类型之——弱引用

    定义 弱引用是使用WeakReference创建的引用,弱引用也是用来描述非必需对象的,它是比软引用更弱的引用类型.在发生GC时,只要发现弱引用,不管系统堆空间是否足够,都会将对象进行回收. 说明 弱 ...

  2. Modo教程合集44部

    Modo教程合集44部 教程说明:英文视频教程,大部分有工程文件,但不是全部 教程格式:Flv.MP4格式,大部分高清,确保能看清软件上的文字 发货方式:百度网盘下载链接(教程较多,可转存到自己的网盘 ...

  3. OneAPM大讲堂 | Java 异常日志记录最佳实践

    [编者按]本文作者是 Casey Dunham.Casey 是一位具有 10 多年经验的专业软件开发人员,以其独特的方式应对应用安全问题而闻名.本文系国内 ITOM 管理平台 OneAPM 工程师编译 ...

  4. LeetCode题解之 Subtree of Another Tree

    1.题目描述 2.问题分析 判断一个节点,然后判断子树. 3.代码 bool isSubtree(TreeNode* s, TreeNode* t) { if (s == NULL) return f ...

  5. IP地址及子网划分

    1.IP地址 2.子网掩码 网络号全转为1,主机号全转为0,之后再转化为10进制表示. 3.无分类编址

  6. 洗礼灵魂,修炼python(29)--装饰器(1)—>利用经典案例解析装饰器概念

    前提必备 不急着进入正题,在前面函数作用域那一章介绍了闭包,全局变量局部变量,这里再看几个简单的闭包案例: 1):不带参数 注意: 1.这里的name属性是每个函数都有的,可以反馈函数名 2.temp ...

  7. python第四十三天--第三模块考核

    面向对象: 概念:类,实例化,对象,实例 属性: 公有属性:在类中定义 成员属性:在方法中定义 私有属性:在方法中使用 __属性  定义 限制外部访问 方法: 普通方法 类方法: @classmeth ...

  8. 常用Linux 服务器命令--各种性能指标命令

    如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个专业的 Linux 系统管理员. 监控命令## iostat### iostat命令用来显示存储系统的 ...

  9. [MapReduce_add_4] MapReduce 的 join 操作

    0. 说明 Map 端 join && Reduce 端 join 1. Map 端 join Map 端 join:大表+小表 => 将小表加入到内存,迭代大表每一行,与之进行 ...

  10. Gogs基本使用介绍

    Gogs简介 Gogs 是一款类似GitHub的开源文件/代码管理系统(基于Git),Gogs 的目标是打造一个最简单.最快速和最轻松的方式搭建自助 Git 服务.使用 Go 语言开发使得 Gogs ...