• MySQL于ON DUPLICATE KEY UPDATE采用


    今天我们做的推断插入用途MySQL于ON DUPLICATE KEY UPDATE。现在,Mark下面!

    假设你想做的事,再有就是在数据库中插入数据没有数据、如果有数据更新数据,然后你可以选择ON DUPLICATE KEY UPDATE。

    ON DUPLICATE KEY UPDATE可以在UNIQUE索引或PRIMARY KEY存在的情况下对旧行运行UPDATE操作。

    比如:假设列a被定义为UNIQUE,而且包括值1。则下面两个语句具有同样的效果:

          INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c = c + 1,b = b - 1;
          UPDATE table SET c = c + 1,b = b - 1 WHERE a = 1;


    比如:如果INSERT多行记录(如果 a 为主键或 a 是一个 UNIQUE索引列): 

          INSERT INTO TABLE (a,c) VALUES (1,3),(1,7) ON DUPLICATE KEY UPDATE c = c + 1;

    运行后,c 的值会变为 4 (第二条与第一条反复, c 在原值上+1)。

          INSERT INTO TABLE (a,c) VALUES (1,3),(1,7) ON DUPLICATE KEY UPDATE c = VALUES(c);

    运行后,c 的值会变为 7 (第二条与第一条反复, c 在直接取反复的值7)。


    注意:ON DUPLICATE KEY UPDATE仅仅是MySQL的特有语法,并非SQL标准语法! 

    官方文档參照:dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#insert


    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    Dapper使用
    EF5.X Code First表关联与延迟加载
    EF Code First 学习笔记:关系
    Entity Framework
    MVC3+EF4.1学习系列(五)----- EF查找导航属性的几种方式
    QML与C++混合编程
    如何将信号从javascript发射到qml
    qt quick中qml编程语言
    PyQt 5信号与槽的几种高级玩法
    静态编译OpenSSL并整合到Qt
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4818249.html
Copyright © 2020-2023  润新知