萌茗酱 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 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝