zoukankan      html  css  js  c++  java
  • MySQL数据库之插入数据时的主键冲突

    插入数据时的主键冲突

    • 如果插入的主键重复会报错
    -- 插入测试表
    mysql> create table stu(
        -> id char(4) primary key,
        -> name varchar(20)
        -> )engine=innodb;
    # `Query OK, 0 rows affected (0.06 sec)`
    
    -- 插入测试数据
    mysql> insert into stu values ('s001','tom');
    # `Query OK, 1 row affected (0.00 sec)`
    
    • 如果插入的主键重复就执行替换
    -- 原理:如果插入的主键不重复就直接插入,如果主键重复就替换(删除原来的记录,插入新记录)
    mysql> replace into stu values('s002','ketty');
    # `Query OK, 2 rows affected (0.00 sec)`
    
    • on duplicate key update
      • 当插入的值与主键或唯一键有冲突执行update操作
    -- 插入的数据和主键或唯一键起冲突,将s002的name字段改为‘李白’
    mysql> insert into stu values ('s002','李白') on duplicate key update name='李白';
    # `Query OK, 2 rows affected (0.00 sec)`
    
  • 相关阅读:
    spring reference
    Connector for Python
    LDAP
    REST
    java利用泛型实现不同类型可变参数
    java细节知识
    事务隔离的级别
    servlet cdi注入
    session and cookie简析
    CORS’s source, principle and implementation
  • 原文地址:https://www.cnblogs.com/SharkJiao/p/14137812.html
Copyright © 2011-2022 走看看