数据库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>