版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangmaohong0717/article/details/83064016
在项目中,会遇到批量插入数据,如果还是使用insert into() values(),只要其中有一条数据失败,整个就失败。
在我们项目中,允许失败,正常的数据需要插入成功。
解决方法:
1.insert ignore into
当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回。所以使用ignore请确保语句本身没有问题,否则也会被忽略掉。例如:
INSERT IGNORE INTO books (name) VALUES (1, 'MySQL'),(1,'JAVA')
(1, 'MySQL')将会插入成功。
2.replace into
如果存在primary or unique相同的记录,则先删除掉。再插入新记录。
REPLACE INTO books (name) VALUES (1, 'MySQL'),(1,'JAVA')
(1,'JAVA')将会插入成功。