社区
疑难问题
帖子详情
mybatis批量插入,非主键判断存在即跳过,不存在新增
小女子儿
2019-05-07 05:17:50
mybatis批量插入时候,根据非主键判断存在即跳过,不存在时新增,怎么写啊?
insert select where not exists这种我试的只可以针对单条。不能操作List<Object>这种的批量新增。
大神们帮忙解答下啦
...全文
1449
1
打赏
收藏
mybatis批量插入,非主键判断存在即跳过,不存在新增
mybatis批量插入时候,根据非主键判断存在即跳过,不存在时新增,怎么写啊? insert select where not exists这种我试的只可以针对单条。不能操作List这种的批量新增。 大神们帮忙解答下啦
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shoppo0505
2019-05-08
打赏
举报
回复
你先把存在的数据行的主键取出来,然后insert 。。。。select ..... where 主键 not in (.....)
mybatis
批量插入
时
判断
是否
存在
如果
存在
就更新或忽略
INSERT INTO staff_salary(user_id, approval_date, user_name, id_card) SELECT '491', '2010-01-10', '高某' , '6404251111112227' FROM DUAL WHERE NOT EXISTS(SELECT id FROM staff_salary WHERE approval_date ...
mybatis
存在
就不插入_
mybatis
批量
新增
数据;批量修改数据;
存在
则更新,
不
存在
则插入...
一、批量
新增
dao层:boolean insertBatchDelegation(List list);xml层:insert into act_delegation(act_name,act_key,from_user_id,from_user_name,to_user_id,to_user_name,start_date,end_date,gmt_create)values(#{item.ac...
MySQL +
MyBatis
批量插入
时
存在
则忽略或更新记录
一、
存在
时则忽略 为什么在发现重复时会忽略?这里面涉及到两个地方。 1、重复则忽略。那么首先是需要
判断
是否重复,这里是通过唯一索引
判断
是否重复的。如果表中唯一索引的字段已经
存在
与将要插入的记录行中唯一索引的字段值相同,则标识为重复。 MySQL 中建立唯一索引:ALTER TABLE ‘tableName’ ADD UNIQUE (‘column’); 如下面的代码块中的 ght_replace 表的 oldnumber 字段建立唯一索引: ALTER TABLE ght_replace ADD UNIQU
Mybatis
批量插入
数据 SQL
上面代码中在 SQL 语句的最外层使用了 for 循环,好处是将 List 类型的集合传递来写入数据时可以有的是
新增
有的是修改,例如3行数据,第一三行由于
主键
字段对应属性 sid 被设置为 NULL ,会向数据库中
新增
行,第二行数据设置了 sid ,并且该值在数据库中有对应行,那么会修改数据库中的该行上的数据。通过在 java 中测试,发现上面的语句
新增
一行成功后会返回1,修改成功后会返回2(这里有疑惑,如果清楚原因的麻烦跟帖科普下)。这种写法适合插入数据的项不变,
mysql
批量插入
,
批量插入
跳
过
主键
重复,简化
批量插入
使用场景: 批量导入一大堆的excel文件,插入数据时候有点慢,所以要
批量插入
。插入中
跳
过
主键
重复报错 mysql
批量插入
,
批量插入
跳
过
主键
重复,简化
批量插入
package com.chenfan.finance.utils; import cn.hutool.core.util.ReflectUtil; import com.chenfan.finance.producer...
疑难问题
22,300
社区成员
121,734
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章