当前使用版本(必填,否则不予处理)
3.5.1
该问题是如何引起的?(确定最新版也有问题再提!!!)
两个程序同时操作一张表
重现步骤(如果有就写完整)
- 自定义主键 @ApiModelProperty("人员编号") @TableId(value = "card_no") private String cardNo;
- 同时执行 //添加数据 this.saveOrUpdateBatch(list);
报错信息
org.springframework.dao.DuplicateKeyException:
Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '61042701611601133' for key 'PRIMARY'
The error may exist in com/herin/daemon/modules/person/mapper/mysql/PersonInfoMapper.java (best guess)
The error may involve com.herin.daemon.modules.person.mapper.mysql.PersonInfoMapper.insert-Inline
The error occurred while setting parameters
SQL: INSERT INTO person_info ( card_no, user_name, duration, station_name, in_well_time, duty_name ) VALUES ( ?, ?, ?, ?, ?, ? )
Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '61042701611601133' for key 'PRIMARY'
; Duplicate entry '61042701611601133' for key 'PRIMARY'; nested exception is java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '61042701611601133' for key 'PRIMARY'
Comment From: miemieYaho
没使用容器而且在同一主机?
Comment From: znb26
没有使用容器 本地和服务器上使用同一数据库,并且都是5分钟一次的定时器同时进行插入表的操作。
| | 张宁波 |
---- 回复的原邮件 ---- | 发件人 | @.> | | 日期 | 2022年08月17日 20:07 | | 收件人 | @.> | | 抄送至 | @.**@.**> | | 主题 | Re: [baomidou/mybatis-plus] saveOrUpdateBatch插入数据报主键重复异常 (Issue #4749) |
没使用容器而且在同一主机?
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>
Comment From: qmdx
当前信息无法定位,默认雪花算法一台机器多个实例可能存在并发问题,你可以设置机器ID 参数避免重复,或者你可以考虑自定义 ID 生成器全局注入,更多查看文档 baomidou.com