当前使用版本(必填,否则不予处理)
我使用的版本是 3.3.2
该问题是如何引起的?(确定最新版也有问题再提!!!)
主键是string类型 执行saveorupdate的时候 提示 违反唯一约束
重现步骤(如果有就写完整)
主键是string类型 执行saveorupdate的时候 提示 违反唯一约束
报错信息
org.springframework.dao.DuplicateKeyException: com.yanzhaoyl.bug.demo.mapper.TaobaoCouponMapper.insert (batch index #1) failed. Cause: java.sql.BatchUpdateException: Duplicate entry 'c9a5a4cc738844999c2a4f12b15dd9ad' for key 'PRIMARY' ; Duplicate entry 'c9a5a4cc738844999c2a4f12b15dd9ad' for key 'PRIMARY'; nested exception is java.sql.BatchUpdateException: Duplicate entry 'c9a5a4cc738844999c2a4f12b15dd9ad' for key 'PRIMARY' at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:243)
demo 实例信息
https://github.com/yanzhaoyl/bug-demo.git
Comment From: miemieYaho
Comment From: yanzhaoyl
这是 是 我 模拟的json数据 导致的, 和 install 变update没关系的, .实际场景 就是 解析json ,然后入库, .我觉得 关注的 点 应该是 执行saveorupdate的时候 如果 主键是 字符串, 遇到重复的 主键时 会报 Duplicate entry 'c9a5a4cc738844999c2a4f12b15dd9ad' for key 'PRIMARY'错误, 我也在网上大概搜索了,请参考 https://zhidao.baidu.com/question/1924162000981926187.html. 现在我通过建立联合主键(改变现在唯一主键的约束) 使用 saveorupdate 批量插入, 但是单一主键时 是 报错的
Comment From: nieqiurong
使用快照版本试试 3.3.3.7-SNAPSHOT,快照使用方式 https://mp.baomidou.com/guide/install.html#snapshot