springboot批量导入excel数据,入库时如何批量去重入库,数据库sqlserver

没有主键的表,批量导入,使用insert into,用aaa,bbb,ccc,ddd4个字段做唯一。


回答:

这种情况建议你在 java 端做好去重处理再入库,可操作性也更强。


回答:

先丢set里去重,再往表里插


回答:

先在内存中去重能保证这一次插入的数据不重. 如果需要后续插入的数据也不重, 可以用布隆过滤器


回答:

如果不想在 Java 程序中去重,可以使用 sqlserver 的 merge 语句进行操作(其实就是一个存在则更新,不存在则插入的语义)。

示例如下:

MERGE INTO Table1 T1

USING (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

回到顶部