springboot批量导入excel数据,入库时如何批量去重入库,数据库sqlserver
没有主键的表,批量导入,使用insert into,用aaa,bbb,ccc,ddd4个字段做唯一。
回答:
这种情况建议你在 java 端做好去重处理再入库,可操作性也更强。
回答:
先丢set里去重,再往表里插
回答:
先在内存中去重能保证这一次插入的数据不重. 如果需要后续插入的数据也不重, 可以用布隆过滤器
回答:
如果不想在 Java 程序中去重,可以使用 sqlserver 的 merge 语句进行操作(其实就是一个存在则更新,不存在则插入的语义)。
示例如下:
MERGE INTO Table1 T1USING (SELECT #{item.a} AS a, #{item.b} AS b) T2
ON ( T1.a=T2.a) // 这里就是唯一值检查,但表中存在相同 a 时
WHEN MATCHED THEN
UPDATE SET T1.b = 2
WHEN NOT MATCHED THEN
INSERT (a,b) VALUES('1001',2);
以上是 springboot批量导入excel数据,入库时如何批量去重入库,数据库sqlserver 的全部内容, 来源链接: utcz.com/p/944371.html