数据库SQL小技巧大揭秘:IGNORE选项让你的数据处理更从容
点击上方蓝字关注我
在 MySQL 中,IGNORE 是一种在插入或更新数据时处理冲突的选项。具体来说,在 INSERT | UPDATE 语句中,IGNORE 的作用是在插入或更新数据时忽略特定的错误,而不导致整个操作失败。另外,IGNORE 选项还可以在非空约束、写入的字段内容超过字段长度时进行截断处理等,下面是几个具体的例子。
1. 主键或唯一键冲突
1.1 初始化测试表并初始化数据
mysql> create table test1(id int not null primary key,
card_no varchar(10) not null,
name varchar(20) not null,
c1 varchar(2) ,
unique key uq_card_no(card_no)
);
Query OK, 0 rows affected (0.05 sec)
<br>
mysql> insert into test1(id,card_no,name,c1)
values(1,'1000000000','abc','a')
Query OK, 1 row affected (0.01 sec)
<br>
mysql> select * from test1;
+----+------------+------+------+
| id | card_no | name | c1 |
+----+------------+------+------+
| 1 | 1000000000 | abc | a |
+----+------------+------+------+
1 row in set (0.00 sec)
<br>
<br>
1.2 主键冲突
插入一个表中已存在的主键数据时,如果不添加ignore,则会报主键冲突
mysql> insert into test1(id,card_no,name,c1) values(1,'1000000001','abc','a');
ERROR 1062 (23000): Duplicate entry '1' for key 'test1.PRIMARY'
<br>