首页 > sql 插入重复记录和先查询再插入

sql 插入重复记录和先查询再插入

在进行数据操作的时候,经常会碰到这样的情况

插入多行数据(其中有几行可能是重复的),如果该记录不存在就插入,存在就无视。

使用一个for循环插入,如果不加检测,那么必将会触发约束问题。 想问问各位,当你们碰到插入约束问题的时候,是先select一遍检查是否存在,再选择是否执行insert,还是无脑insert无视产生的异常呢?


直接插,冲突就忽略。因为你事先检查后也不能确保插的时候不会冲突(好吧,很多时候你确实能够确保,比如当时只有你一个人在操作数据库)。有些方言也许会支持在冲突时干什么。

另外,批量插入用一条 insert 就可以了吧。


建议用replace into


可以参考的方法,来源于Google。

其中oracle的merge试过,其他两种没试过,仅供参考!

【热门文章】
【热门文章】