备注 | 修改日期 | 修改人 |
CREAT | 2021-01-29 10:36:52[当前版本] | 系统管理员 |
比如定义如下表:
---------- ------------- ------ ----- --------- ----------------
| Field | Type | Null | Key | Default |
Extra |
---------- ------------- ------ -----
--------- ----------------
| code_id | int(11) | |
PRI | NULL | auto_increment |
| country | varchar(50) |
YES | | NULL | |
| province |
varchar(50) | YES | | NULL | |
|
c_code | varchar(8) | YES | | NULL |
|
| p_code | varchar(8) | YES | | NULL
| |
---------- ------------- ------ -----
--------- ----------------
执行如下语句插入一条数据:
insert into code values(1,'china','nanjing','86','25');
如果再执行一遍
insert into code values(1,'china','nanjing','86','25');
则会报如下错误:ERROR 1062 (23000): Duplicate entry '1' for key 1
此时如果加上ignore关键字,则就不会报错:
insert ignore into code values(1,'china1', 'nanjing1','0086','025');
执行结果:Query OK, 0 rows affected (0.00 sec)
虽然使用了ignore关键字,但是记录不会被覆盖。
mysql> select * from code;
--------- --------- ----------
-------- --------
| code_id | country | province | c_code |
p_code |
--------- --------- ---------- -------- --------
| 1 | china | nanjing | 86 | 25 |
---------
--------- ---------- -------- --------
1 row in set (0.00
sec)