IGNORE:表明,如果你插入的行已经存在,则成功返回,不会报错(会有警告),忽略当前插入的记录,不使用IGNORE时,如果插入了相同的行数据时,MySQL则会报错。
MySQL是通过主键来判断两个行数据是否重复。
用法示例:mysql> INSERT IGNORE INTO `company`.`customers`(id,
first_name, last_name,country)
VALUES
(1, 'Mike', 'Christensen', 'USA'),
(2, 'Andy', 'Hollands', 'Australia'),
(3, 'Ravi', 'Vedantam', 'India'),
(4, 'Rajiv', 'Perera', 'Sri Lanka');
Query OK, 0 rows affected, 4 warnings (0.00 sec)
Records: 4 Duplicates: 4 Warnings: 4
重复执行上述语句,并显示警告:mysql> SHOW WARNINGS;
+---------+------+-----------------------------------
----+
| Level | Code | Message
|+
---------+------+-----------------------------------
----+
| Warning | 1062 | Duplicate entry '1' for key
'PRIMARY' |
| Warning | 1062 | Duplicate entry '2' for key
'PRIMARY' |
| Warning | 1062 | Duplicate entry '3' for key
'PRIMARY' |
| Warning | 1062 | Duplicate entry '4' for key
'PRIMARY' |
+---------+------+-----------------------------------
----+
4 rows in set (0.00 sec)