zoukankan      html  css  js  c++  java
  • insert into ... on duplicate key update 与 replace 区别

     on duplicate key update:针对主健与唯一健,当插入值中的主健值与表中的主健值,若相同的主健值,就更新on duplicate key update 后面的指定的字段值,若没有相同主健值,就插入该记录

    mysql> create table tab_test(fd1 int NOT NULL,fd2  varchar(50),primary key(fd1))engine=innodb;     
    Query OK, 0 rows affected (0.22 sec)
    
    mysql> insert into tab_test(fd1,fd2) values(1,"matt");
    Query OK, 1 row affected (0.16 sec)
    
    mysql> insert into tab_test(fd1,fd2) values(2,"toto");
    Query OK, 1 row affected (0.17 sec)
    
    mysql> insert into tab_test values(3,"toto2");         
    Query OK, 1 row affected (0.17 sec)
    
    mysql> insert into tab_test values(3,"toto2") on duplicate key update fd2="test";
    Query OK, 2 rows affected (0.17 sec)
    
    mysql> select * from tab_test;
    +-----+------+
    | fd1 | fd2  |
    +-----+------+
    |   1 | matt |
    |   2 | toto |
    |   3 | test |
    +-----+------+
    3 rows in set (0.00 sec)
    
    mysql> insert into tab_test values(5,"toto2") on duplicate key update fd2="test1";
    Query OK, 1 row affected (0.17 sec)
    
    mysql> select * from tab_test;
    +-----+-------+
    | fd1 | fd2   |
    +-----+-------+
    |   1 | matt  |
    |   2 | toto  |
    |   3 | test  |
    |   5 | toto2 |
    +-----+-------+
    4 rows in set (0.00 sec)

    replace :

    针对主健与唯一健,当插入值中的主健值与表中的主健值,若相同的主健值,删除该记录,再插入值,若没有相同主健值,就插入该记录

    mysql> replace tab_test set fd1=1,fd2="Matt"; 
    Query OK, 2 rows affected (0.17 sec)
    
    mysql> select * from tab_test;
    +-----+-------+
    | fd1 | fd2   |
    +-----+-------+
    |   1 | Matt  |
    |   2 | toto  |
    |   3 | test  |
    |   5 | toto2 |
    +-----+-------+
    4 rows in set (0.00 sec)
    
    mysql> replace tab_test set fd1=1,fd2="xx";
    Query OK, 2 rows affected (0.17 sec)
    
    mysql> select * from tab_test;
    +-----+-------+
    | fd1 | fd2   |
    +-----+-------+
    |   1 | xx    |
    |   2 | toto  |
    |   3 | test  |
    |   5 | toto2 |
    +-----+-------+
    4 rows in set (0.00 sec)
  • 相关阅读:
    Python笔记17(Django之路由系统)
    Python笔记16(Django介绍与安装)
    Python笔记16(Web框架本质)
    序列的区间操作
    并查集(入门)
    (补题 Uva 3027)Corporative Network
    (补题 cf 1167C)News Distribution
    (补题 CF 1013B 模拟)And
    (补题 CF 1234C)Pipes
    (补题 POJ 1679 次小生成树)The Unique MST
  • 原文地址:https://www.cnblogs.com/zengkefu/p/5637014.html
Copyright © 2011-2022 走看看