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

  • 相关阅读:
    21322
    9-1
    作业五1
    作业五2
    实验9-2
    作业4函数应用
    实验九 1
    实验八 数组2 输出一张九九乘法口诀表。要求必须将乘积放入一个二维数组中,再输出该数组,程序运行效果如下
    实验八 (调试)
    实验6剩余部分
  • 原文地址:https://www.cnblogs.com/andydao/p/10451145.html
Copyright © 2011-2022 走看看