萌茗酱 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 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条