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

最新文章

  1. iOS开发之AFNetworking 3.0.4使用
  2. pdf拆分与合并
  3. 【实践】js实现简易的四则运算计算器
  4. CabArc to create or extract a cab file
  5. 将 JAR 转为 EXE – JSMOOTH 的使用教程(第二期)(转载)
  6. 在中心交换机前加入多wan口路由,华为中心交换机的学习
  7. number_format
  8. Working with Data » 使用Visual Studio开发ASP.NET Core MVC and Entity Framework Core初学者教程
  9. Effective C++学习笔记 条款06:如不想使用编译器自动生成的函数,就该明确拒绝
  10. 02_Jquery_04_属性选择器
  11. 命令行修复MBR分区
  12. iOS 之 Property List
  13. python趣味 ——奇葩的全局形参
  14. iview 将table的selection多选变单选方法
  15. [luogu P3369]【模板】普通平衡树(Treap/SBT)
  16. [UE4]AnimOffset偏移动画
  17. 邮件服务器fixpost服务(1)
  18. 使用VB.Net Express版本创建服务
  19. 摘:常用函数(包括:宽字符函数、普通C函数 )
  20. Spring Cloud心跳监测

热门文章

  1. 使用vue+webpack的多页面架构(转+自己的情况)
  2. Hyper-v Server 2012 R2增强会话模式
  3. IOS开发---菜鸟学习之路--(二十四)-iOS7View被导航栏遮挡问题的解决
  4. leetcode 【 Reorder List 】python 实现
  5. Google Chrome开发者工具-移动仿真:触摸事件仿真
  6. Python+Selenium练习篇之1-摘取网页上全部邮箱
  7. python re模块详解
  8. Leetcode 565.数组嵌套
  9. JVM虚拟机系列(二)虚拟机的逻辑结构
  10. phpstrom换行的一个小坑