mysql insert if exists_mysql数据库中的insert if not exists
当记录不存在时插入,即insert if not exists。mysql中,插入(insert)一条记录很简单。
但在一些特殊应用中,插入记录前,需要检查这条记录是否已存在,只有当记录不存在时才执行插入操作。
本文将与大家一起探讨这个问题。
问题:创建一个表来存放客户信息,可以用 insert 语句插入信息到表中,但是如何才能保证不会插入重复的记录呢?
答案:使用 EXISTS 条件句防止插入重复记录。
例1:插入多条记录
假设有一个主键为 client_id 的 clients 表,可以使用下面的语句:
复制代码 代码如下:
INSERT INTO clients
(client_id, client_name, client_type)
SELECT supplier_id, supplier_name, 'advertising'
FROM suppliers
WHERE not exists (select * from clients
where clients.client_id = suppliers.supplier_id);
例2:插入单条记录
复制代码 代码如下:
INSERT INTO clients
(client_id, client_name, client_type)
SELECT 10345, 'IBM', 'advertising'
FROM dual
WHERE not exists (select * from clients
where clients.client_id = 10345);
注解:使用 dual 作表名,可以让你在 select 语句后面直接跟上要插入字段的值,即使这些值还不存在当前表中。
mysql insert if exists_mysql数据库中的insert if not exists相关推荐
- mysql 数据缓冲区,MySQL写入缓冲区在数据库中的作用( Change Buffer )
原标题:MySQL写入缓冲区在数据库中的作用( Change Buffer ) 介绍另外一种重要的数据变更日志,也就是InnoDB change buffer.Change buffer的主要目的是将 ...
- mybatis insert 重复数据2条_Mybatis框架lt;增gt;:添加一条数据到数据库中,insert...
在以上框架中,前面所搭建好的框架全部固定好,接下来,我们在此基础上实现功能使用insert添加一条数据到数据库中(1)在UserMapper接口中添加对应方法,//在数据库表中增添一条数据,返回为in ...
- C++ 开发中如何利用sql语句(insert语句)向数据库中插入变量
**问题描述:**在C/S开发过程中,当客户端向服务端发送接口(结构体)信息时,服务端需要将接收到的信息存入数据库,但是,常规insert语句只能存确定的值到数据,当客户端传入的值不确定,且为了保证代 ...
- mysql md5 sha1_SQL Server 数据库中的 MD5 和 SHA1
MD5 和 SHA1 是一种单向加密算法,常用于密码的验证等需要加密操作的场合,在一般情况下,开发人员可以通过 Delphi 或 PHP 这类语言自己编写相关函数或者使用自带的函数,然后将加密过的结果 ...
- ibatis insert mysql_让iBatis中的insert返回主键
让iBatis中的insert返回主键 [ibatis insert 返回 自增主键] parameterClass="RemarkInfo"> insert into SG ...
- oracle mysql 同义词,有关Oracle数据库中同义词的简单介绍
Oracle数据库中有关同义词的一些知识是我们本文主要要介绍的内容,首先我们先看一个语句,如下: create synonym table_name for user.table_name; 其中** ...
- oracle和mysql空字符串_Oracle数据库中对null值的排序及mull与空字符串的区别
order by排序之null值处理方法在对业务数据排序时候,发现有些字段的记录是null值,这时排序便出现了有违我们使用习惯的数据大小顺序问题.在Oracle中规定,在Order by排序时缺省认为 ...
- mysql支持非关系_说下oracle、mysql、非关系型数据库中的索引结构?
谢邀~~树懒君悉心整理了一篇索引结构方面的内容,跟各位知友分享分享~ Oracle 索引的数据结构:B-TreeOracle 数据库使用 B-trees 存储索引,来加速数据访问.若没有索引,你必须顺 ...
- mysql id in set_mysql数据库中find_in_set()和in()用法区别
mysql数据库中find_in_set()和in()用法区别 (2015-07-19 08:30:21) 标签: mysql数据库 find_in_set 在mysql中in可以包括指定的数字,而f ...
最新文章
- 01-复杂度3 二分查找
- 两条链路实现负载均衡和容错的设计
- 2-结构体的最后一个成员的定义-C语言中的柔性数组-
- 将每个字典一行一行的添加到pd.DataFrame中
- 随机地址生成器_随机连接神经网络性能超过人工设计!何恺明等人发布新研究...
- 自己的总结(你必须知道的C 495个问题)
- 以太坊私有链 使用dev模式
- jquery右下角自动弹出关闭层
- 工科计算机考研311分今年能上吗,2020年考研,工科345分,能进大连理工吗?学姐:热门专业悬...
- Eclipse下Maven工程多模块继承和聚合的创建
- 122. 买卖股票的最jia时机||(JavaScript)
- 【缓存】J2Cache —— 基于内存和 Redis 的两级 Java 缓存框架的使用方法
- ArcCatalog导出数据库中shapefile
- AUTOCAD——合并图层
- PCIe总线的参考时钟与同步时钟的差异
- 车联网大规模商用关键突破口深度调研,车路协同智慧高速全国建设情况
- jquery与ajax实现增删改查
- 基于Gin+Vue+ElementUI实现的微信公众号平台系统
- 成功解决Myeclipse2017破解时遇到的crack.bat文件闪退问题
- 2022年下半年软件评测师考试真题一些回忆