zoukankan      html  css  js  c++  java
  • my -> mysql on duplicate key update使用总结

    CREATE TABLE `t_duplicate` (
    `a` int(11) NOT NULL,
    `b` int(255) DEFAULT NULL,
    `c` int(255) DEFAULT NULL,
    PRIMARY KEY (`a`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='测试验证on duplicate key update 功能';

    SELECT * FROM `t_duplicate`;

    #添加和更新结果不一样,
    #添加数据时,也就是当表中不存在唯一主键为a这条数据时,忽略on后面的内容,(此时是添加一条数据,不是update一条数据)
    #当表中存在主键值1、4时,才会执行ON DUPLICATE KEY UPDATE 后面的语句把c更新成a+b的值, 否则不会执行ON后面的。(此时是更新一条数据,而不是添加一条数据)
    #VALUES()函数只在INSERT...UPDATE语句中有意义,其它时候会返回NULL。
    INSERT INTO t_duplicate(a,b,c) VALUES (1,2,7),(4,5,6) ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b);

    INSERT INTO t_duplicate (a,b,c) VALUES (4,5,6) ON DUPLICATE KEY UPDATE c=8; #执行三次,影响的行数分别是:1,2,0

  • 相关阅读:
    杂记5
    杂记4
    杂记3
    杂记2
    杂记1
    也来个网页版本的五子棋
    验证码识别
    npm publish命令
    window nginx php ci框架环境搭建
    也来个网页版本的五子棋
  • 原文地址:https://www.cnblogs.com/andydao/p/10451145.html
Copyright © 2011-2022 走看看