文档章节

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

尼克air
 尼克air
发布于 2017/02/15 22:37
字数 188
阅读 86
收藏 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会修改掉原有的值,主键还会增长,不建议使用

© 著作权归作者所有

共有 人打赏支持
尼克air
粉丝 4
博文 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中INSERT ... ON DUPLICATE KEY UPDATE的实践

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

阿里加多
03/23
0
0
mysql优化学习on DUPLICATE key Update

场景: 有张表,里面的记录不能存在重复记录,记录存在就更新,如果不存在就插入 传统做法: 先查询select,如果存在就update,不存在就insert,这样就存大两条sql语句了。对于大并发来说,存...

hansonwong
11/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS配置Tomcat监听80端口,虚拟主机

Tomcat更改默认端口为80 更改的配置文件是: /usr/local/tomcat/conf/server.xml [root@test-a ~]# vim /usr/local/tomcat/conf/server.xml # 找到 Connector port="8080" protocol="HTTP/1......

野雪球
今天
5
0
《稻盛和夫经营学》读后感心得体会3180字范文

《稻盛和夫经营学》读后感心得体会3180字范文: 一代日本经营之圣稻盛和夫凭借刻苦勤奋的精神以及深植于佛教的商业道德准则,成为了“佛系”企业家的代表人物。在《稻盛和夫经营学》“领导人...

原创小博客
今天
3
0
java框架学习日志-5(常见的依赖注入)

依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入。 依赖——指bean对象创建依赖于...

白话
今天
4
0
红外接收器驱动开发

背景:使用系统的红外遥控软件没有反应,然后以为自己接线错误,反复测试,结果烧坏了一个红外接收器,信号主板没有问题。所以自己开发了一个红外接收器的python驱动。接线参见https://my.os...

mbzhong
今天
2
0
ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部