MySQL 8 Cookbook
上QQ阅读APP看书,第一时间看更新

Inserting

The INSERT statement is used to create new records in a table:

mysql> INSERT IGNORE INTO `company`.`customers`(first_name, last_name,country)
VALUES
('Mike', 'Christensen', 'USA'),
('Andy', 'Hollands', 'Australia'),
('Ravi', 'Vedantam', 'India'),
('Rajiv', 'Perera', 'Sri Lanka');

Or you can explicitly mention the id column, if you want to insert the specific id:

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

IGNORE: If the row already exists and the IGNORE clause is given, the new data is ignored and the INSERT statement still succeeds in producing a warning and a number of duplicates. Otherwise, if the IGNORE clause is not given, the INSERT statement produces an error. The uniqueness of a row is identified by the primary key:

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)