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
posted on 2019-02-28 16:18 andydaopeng 阅读(130) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
2015-02-28 centos安装memcache与telnet