mysql insert if not exists防止插入重复记录的方法
发布时间:2024-01-17 08:40:43
标签:防止插入,重复记录
MySQL 当记录不存在时插入(insert if not exists)
在 MySQL 中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,本文介绍的就是这个问题的解决方案。
在 MySQL 中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,本文介绍的就是这个问题的解决方案。
问题:我创建了一个表来存放客户信息,我知道可以用 insert 语句插入信息到表中,但是怎么样才能保证不会插入重复的记录呢?
答案:可以通过使用 EXISTS 条件句防止插入重复记录。
示例一:插入多条记录
假设有一个主键为 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);
示例一:插入单条记录
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 语句后面直接跟上要插入字段的值,即使这些值还不存在当前表中。
0
投稿
猜你喜欢
- 一般事件事件浏览器支持描述onClickIE3|N2|O3鼠标点击事件,多用在某个对象控制的范围内的鼠标点击onDblClickIE4|N4
- 去除字符串中的空格、特殊字符、指定字符等,在python中,为我们提供了三种方法:strip()删除字符串前后(左右两侧)的空格或特殊字符l
- 前言在webpack模块化开发的过程中,发现webpack.config.js配置文件的输出路径总有一个path与publicPath,不解
- 引用自百度知道里面的一个问答例如数组{1,2,3,4,5}要把数组里面的3删除得到{1,2,4,5}js代码:<script type
- 这个工具是使用Python开发,可以从下面地址了解详情。官网: https://pypi.org/project/webssh/webssh
- 前言在之前开发vue2项目中,props 属性在组件中经常使用来进行组件通信。现在在开发vue3项目的过程中,我们开发小组渐渐的减少prop
- Python 正则表达式是什么学习 Python 正则表达式离不开 re 模块,所以本篇博客会配合 re 模块进行编写。re 库是 Pyth
- 一、操作步骤导入:import flask,json实例化:api = flask.Flask(name)定义接口访问路径及访问方式:@ap
- 现将几种主要情况进行小结: 一、如何输入NULL值 如果不输入null值,当时间为空时,会默认写入"1900-01-01"
- 在用sqlAlchemy写web应用的时候,经常会用json进行通信,跟json最接近的对象就是dict,有时候操作dict也会比操作ORM
- COALESCE是一个函数, (expression_1, expression_2, ...,expression_n)依次参考各参数表达
- 前言很多时候我们要用到图片上传功能,如果图片一直用放在别的网站上,通过加载网址的方式来显示的话其实也挺麻烦的,我们通过使用 django-f
- 无论是我们上学时还之后的工作中,基本都需要用到电子证件照片,这类照片基本都对照片尺寸、背景色有要求,本文我们来看一下如何只用不到 20 行
- 本文实例为大家分享了Python3实现购物车功能的具体代码,供大家参考,具体内容如下购物车要求:1、启动程序后,输入用户名密码后,如果是第一
- 这几天在QQ群里知道了几个比较好的优化方面的站,感觉看高手的文章简直就是一种享受。和很多现在正在阅读这篇文章的站长一样,我即将毕业,但是还没
- vue组件在prop里根据type决定传值还是传引用。简要如下:传值:String、Number、Boolean传引用:Array、Obje
- 百度的资料,保存下来:在写按时间段查询的sql语句的时候 一般我们会这么写查询条件:where date>='2010-01-
- 官网地址:https://dev.mysql.com/downloads/mysql/我这里是RHEL6.5的系统,因此选择RedHat 6
- 1. 关于箱线图 及 plt.boxplot()方法箱线图又称箱形图,有的地方也可以叫盒须图。使用箱线图的好处是可以以一种相对稳定的方式描述
- 下面这个截图,就是使用 schedule 定时执行 Notebook 的例子import scheduleimport timeimport