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信息,忽略掉错误并继续执行剩下的语句。