文档章节

查询记录是否存在,不存在即插入,存在即更新

xuguangwu
 xuguangwu
发布于 2017/02/15 22:37
字数 188
阅读 83
收藏 0

很多业务场景需要这样的操作,对数据或sql不做处理的话,需要做两次sql操作,很繁琐。
以下是我所用的三种解决办法,一步解决。

加唯一索引,如果一个字段不行,那就两个字段建立唯一索引。

如果只使用一个主键值
INSERT INTO auto (k, v) VALUES (1, '1-1') ON DUPLICATE KEY UPDATE v=VALUES(v);
相比于replace into,不会更改主键值,不会破坏主键建立的关系,同时只修改需要更新的数据,原有的数据会保存。

replace into

replace into会修改掉原有的值,主键还会增长,不建议使用

© 著作权归作者所有

共有 人打赏支持
xuguangwu
粉丝 3
博文 20
码字总数 13259
作品 0
深圳
程序员
mongodb update 更新操作

db.collection.update(<query>,// 查询条件<update>, // 要更新的值(字段)--赋值表达式 $set{ }) 1,先查询person 中age=20 的数据: 更新name为“ming”,在次查询,age=20的数据,发现只...

Atom_me
2016/05/14
798
0
SQL Server 和 HSQLDB 中使用 merge into 完成 saveOrUpdate

当我们调用 Hibernate 的 saveOrUpdate() 或 JPA 的 save() 方法的 Hibernate 实现时,都会做两步操作:1)按 ID 查询记录是否已存在,2)不存在插入新记录,存在则更新原记录。这种两步操作...

Unmi
06/02
0
0
MongoDB学习笔记(一)--基础

Insert MongoDB在执行插入时,首先会将插入的数据转换成BSON格式。然后MongoDB数据库会对BSON进行解剖,并检查是否存在_id建。 >doc = { } > db.yyd.insert(doc); Query 全部查找 返回除了 ...

老朱教授
2017/10/01
0
0
Mysql 原生语句中save or update 的各种写法

Mysql 原生语句中save or update 的各种写法 背景   在平常的开发中,经常碰到这种更新数据的场景:先判断某一数据在库表中是否存在,存在则update,不存在则insert。如果使用Hibernate,它...

Tek_Eternal
2015/02/09
0
0
Mysql中INSERT ... ON DUPLICATE KEY UPDATE的实践

一、前言 在日常业务开发中经常有这样一个场景,首先创建一条记录,然后插入到数据库;如果数据库已经存在同一主键的记录,则执行update操作,如果不存在,则执行insert操作; 最近工作也遇到...

阿里加多
03/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

7月13日任务 for、while、break跳出、ontinue结束、exit退出

20.10 for循环 语法:for 变量名 in 条件; do …; done 案例1:计算1到100的和 #!/bin/bashsum=0for i in `seq 1 100`do    sum=$[$sum+$i]    echo $idoneecho $sum 案例2...

吕湘颖
37分钟前
0
0
qemu增量镜像的好处

可以快速恢复,相当于快照的功能。

simpower
44分钟前
0
0
Python3_Appium_QQ 实战

Python3_Appium实战 -海盐 APPium移动自动化测试 样例中 测试的 app 使用的是 QQ; Appium介绍 Appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web 应用和混合...

海盐宝宝
44分钟前
0
0
内网穿透利器-ngrok的图文安装

使用场景: 在做微信开发或是调银行或支付宝等支付系统的时候,本地想联调但是对方需要可以访问的域名或是外网IP才可以。但是,在本地如果不在路由器上做映射或是公司没有固定的外网IP。这种...

中凯_凯哥java
49分钟前
2
1
归约与分组 - 读《Java 8实战》

区分Collection,Collector和collect 代码中用到的类与方法用红框标出,可从git库中查看 收集器用作高级归约 // 按货币对交易进行分组Map<Currency, List<Transaction>> currencyListMap = g...

yysue
49分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部