打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
on duplicate key update简单使用

 1。最近在做项目的时候,遇到这样的一个问题,就是我每做完一件事情,都要更新一下统计表,然而要更新统计表,就要根据主键去统计表里面去查询是否已经有这样的一条记录,如果有那么就更新,如果没有那么就插入一条记录,开始我就是这么干的,结果被老大给否决了,他说可以用onduplicate key update去做。下面就实际操作一下吧:

表结构:

+-----------+---------+------+-----+---------+-------+
|Field    | Type    | Null| Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| player_id | int(11) | NO   |PRI | NULL        |
|count    | int(11) | YES    | NULL        |
+-----------+---------+------+-----+---------+-------+
2 rows in set (0.01 sec)

老做法是写三条sql语句:

select * from player_count where player_id = 1;//查询统计表中是否有记录

insert into player_count(player_id,count)value(1,1);//没有记录就执行insert 操作

update player_count set count = count+1 where player_id =1;//有记录就执行update操作

这种写法比较麻烦

用on duplicate key update 的做法如下:

insert into player_count(player_id,count) value(1,1) onduplicate key update count=count+1;

这样每次不管插入还是更新都调用这句语句就能达到我们要的效果,省了不少的判断。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
ON DUPLICATE KEY UPDATE,唯一索引或者主键插入重复修改记录
mysql的两个技巧(key记录存在则替换,不存在则插入和key记录存在则更新,不存在则插入)
MySql避免重复插入记录
mysql INSERT ... ON DUPLICATE KEY UPDATE语句
mysql批量插入,存在则修改,不存在则插入
mysql批量插入并更新数据 | PHP之旅
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服