萌茗酱 2020-03-17 11:44 采纳率: 50%
浏览 675

mysql批量插入unique字段重复忽略错误 错误数据也返回主键id的问题

数据库中mobile字段设置unique索引
插入的sql语句:
parameterType="java.util.List"
useGeneratedKeys="true"
keyProperty="id">
insert ignore into
plat_user (mobile) values
item="item"
index="index"
separator=",">
(#{item.mobile} )


打印插入后的list当mobile已存在的时候还是会莫名返回一个不存在的主键
例如:,mobile=18423134564,的数据数据库中已存在,
却还是反回了一个主键id(数据库中并未插入该id数据)
麻烦大佬讲解下这个id为什么会生成
以及keyProperty具体做了什么
有没有只返回插入成功的id
已存在的重复数据未插入成功的不返回id
实现通过id的有无来判断哪些插入成功,哪些mobile已存在插入失败

  • 写回答

2条回答 默认 最新

  • 真-酸辣土豆丝 2020-03-19 11:52
    关注

    为什么要根据返回ID来判断是否成功?索引重复会直接报错的。你可以逐条插入,捕获特定异常处理插入失败

    评论

报告相同问题?

悬赏问题

  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿