在项目中,会遇到批量插入数据,如果还是使用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')将会插入成功。

Logo

更多推荐