sql insert ignore 忽略错误

https://www.mysqltutorial.org/mysql-insert-ignore/

CREATE TABLE subscribers (
    id INT PRIMARY KEY AUTO_INCREMENT,
    email VARCHAR(50) NOT NULL UNIQUE
);

INSERT INTO subscribers(email)
VALUES('[email protected]');

INSERT INTO subscribers(email)
VALUES('[email protected]'), 
      ('[email protected]');

这里就会报错,导致后面的数据无法插入

Error Code: 1062. Duplicate entry '[email protected]' for key 'email'


INSERT IGNORE INTO subscribers(email)
VALUES('[email protected]'), 
      ('[email protected]');

这样可以忽略错误继续执行

1 row(s) affected, 1 warning(s): 1062 Duplicate entry '[email protected]' for key 'email' Records: 2 Duplicates: 1 Warnings: 1

总结

如果mysql开启了strict模式,ignore将会把mysql的error信息变成warning信息,忽略掉错误并继续执行剩下的语句。


作者:spike

分类: Mysql

创作时间:2023-06-25

更新时间:2024-12-09

联系方式放在中括号之中例如[[email protected]],回复评论在开头加上标号例如:#1