博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql insert if not exists防止插入重复记录的方法(转)
阅读量:6325 次
发布时间:2019-06-22

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

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 *  clients

    where clients.client_id = 10345);

    使用 dual 做表名可以让你在 select 语句后面直接跟上要插入字段的值,即使这些值还不存在当前表中。

转载地址:http://pkmaa.baihongyu.com/

你可能感兴趣的文章
mesos
查看>>
Sun Grid Engine (SGE)大型集群作业调度系统
查看>>
信号处理——生成给定分布随机数
查看>>
2014年上半年软件设计师考试之绝密答案--有待大家完好
查看>>
Java动态代理学习【Spring AOP基础之一】
查看>>
在cmd窗口输入命令遇到You must run this command from a command prompt with administrator privilege怎么办?...
查看>>
ElasticSearch入门 第五篇:使用C#查询文档
查看>>
设置数据库状态
查看>>
Android之读取 AndroidManifest.xml 中的数据:版本号、应用名称、自定义K-V数据(meta-data)...
查看>>
获取指定的内容---MXCMS ReadNews标签说明
查看>>
SPRING源码分析:IOC容器
查看>>
linux系统性能分析
查看>>
SystemTap----将SystemTap脚本编译成内核模块
查看>>
KVM虚拟机介绍
查看>>
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(7)-MVC与EasyUI DataGrid
查看>>
Redis系列(六)-SortedSets设计技巧
查看>>
Latex技巧
查看>>
Android开发日记(一)
查看>>
java中简单字符替换
查看>>
【推荐】【给中高级开发者】构建高性能ASP.NET应用的几点建议
查看>>