博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql一条语句实现插入或更新的操作
阅读量:5132 次
发布时间:2019-06-13

本文共 493 字,大约阅读时间需要 1 分钟。

 

INSERT INTO TABLE (a,c) VALUES (1,3),(1,7) ON DUPLICATE KEY UPDATE c=VALUES(c); 或者 INSERT INTO table (id,a,b,c) select id,a,b,c from xxx ON DUPLICATE KEY UPDATE a=VALUES(a),b=VALUES(b),c=VALUES(c)

 

 上面的mysql的一条语句实现了往表里插入数据,如果对应的主键上(假设主键是a)已经有数据了那么执行更新操作,更新字段c为新值。

 

这样一条语句简化了我们的开发代码,否则开发代码还要判断表里有没有相应的数据,如果没有那么插入数据、如果有那么执行更新操作。

 

注意:ON DUPLICATE KEY UPDATE只是MySQL的特有语法,并不是SQL标准语法! 

这个语法和适合用在需要 判断记录是否存在,不存在则插入存在则更新的场景.

 

该sql在高并发环境下会有锁争用的问题,参考下面链接阅读

 

转载于:https://www.cnblogs.com/dongruiha/p/6780447.html

你可能感兴趣的文章
iTunes Connect 开发者上手经验(转)
查看>>
vertical-align你为什么不生效
查看>>
request.getReader()的怪异事件
查看>>
C++ 实践总结
查看>>
composer 国内镜像配置
查看>>
软件是天时、地利、人和的产物!
查看>>
python定时清空本目录下除本脚本外的全部文件
查看>>
【PHP】在目标字符串指定位置插入字符串
查看>>
【JS】jQuery设置定时器,访问服务器(PHP示例)配合微信、支付宝原生支付,跳转web网页...
查看>>
实验四2
查看>>
在小程序开发的新风口 看华为云如何助立创科技抢占市场红利
查看>>
第一次博客随笔:苏钰冰
查看>>
HIS-DELPHI-读取数据库配置
查看>>
如何引入iconfont图标与Element-UI组件
查看>>
ArcMap合并之路 -- 该段路合并成一个完整的路
查看>>
在UC浏览器打开链接唤醒app,假设没有安装该app,则跳转到appstore下载该应用
查看>>
skozrloug
查看>>
D. Flowers Codeforces Round #271(div2)
查看>>
表单重复提交
查看>>
HDU2767 Proving Equivalences(scc)
查看>>