MySQL的ON DUPLICATE KEY UPDATE用法
来源:互联网 发布:人之为学有难易乎的之 编辑:程序博客网 时间:2024/05/21 02:19
在MySQL数据库中,如果在insert语句后面带上ON DUPLICATE KEY UPDATE 子句,而要插入的行与表中现有记录的惟一索引或主键中产生重复值,那么就会发生旧行的更新;如果插入的行数据与现有表中记录的唯一索引或者主键不重复,则执行新纪录插入操作。
比如有这样一张表:
create table daily_hit_counter (
day date not null,
slot tinyint unsigned not null,
cnt int unsigned not null,
primary key(day, slot)
) engine = InnoDB;
daily_hit_counter 表的惟一索引是由 day+slot 两个字段组成。
现有数据:
dayslotcnt2017-11-191102017-11-202101. 执行:
insert into daily_hit_counter (day, slot, cnt) values ('2017-11-19', 1, 1) ON DUPLICATE KEY UPDATE cnt = cnt + 1;
由于插入的数据中 day+slot 与现有的记录的唯一索引重复了,所以执行旧行的更新,执行之后,最终结果是这样的:
dayslotcnt2017-11-191112017-11-202102. 执行:
insert into daily_hit_counter (day, slot, cnt) values ('2017-11-19', 2, 1) ON DUPLICATE KEY UPDATE cnt = cnt + 1;
由于插入的数据中 day+slot 与现有的记录的唯一索引或者主键都没有重复了,所以执行新纪录插入,执行之后,最终结果是这样的:
dayslotcnt2017-11-191112017-11-19212017-11-20210- MySQL的ON DUPLICATE KEY UPDATE用法
- Mysql ON DUPLICATE KEY UPDATE 用法
- MySQL: ON DUPLICATE KEY UPDATE 用法
- Mysql ON DUPLICATE KEY UPDATE 的 用法 简记
- Mysql ON DUPLICATE KEY UPDATE 的 用法 简记
- mysql存储过程中的on duplicate key update的用法
- mysql on duplicate key update 的使用
- MySQL on duplicate key update 的使用
- MySQL 的 ON DUPLICATE KEY UPDATE
- MySQL的ON DUPLICATE KEY UPDATE 使用
- mysql on duplicate key update 的坑
- MySQL - ON DUPLICATE KEY UPDATE
- mysql on duplicate key update
- mysql ON DUPLICATE KEY UPDATE
- mysql on duplicate key update
- mysql ON DUPLICATE KEY UPDATE
- mysql中ON DUPLICATE KEY UPDATE和REPLACE INTO用法
- mysql——on duplicate key update用法
- iOS--跳转到app自己的设置页面
- peek()小技巧
- C#个人重构之退出事件
- 动态更改选择界面选择文本
- 11.20课堂笔记、作业以及学习心得
- MySQL的ON DUPLICATE KEY UPDATE用法
- 你应该学习正则表达式
- 你试过不用if撸代码吗?
- mui框架如何实现页面间传值
- hdu2255--奔小康赚大钱 (二分图最大权匹配)
- 算法学习之路:动态规划-最大公共子序列-java实现
- The content of element type "resultMap" must match "(constructor?,id*,result*,association*,collecti
- test111111
- 解决Chrome升级后,在console输入JS代码提示undefined问题