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
投稿

猜你喜欢

  • js获取css的各种样式并且设置他们的方法

    2024-04-18 10:10:33
  • 举例讲解Python的lambda语句声明匿名函数的用法

    2021-05-29 13:02:53
  • SQL Server误区30日谈 第6天 有关NULL位图的三个误区

    2024-01-21 22:21:26
  • Python发展简史 Python来历

    2021-12-17 11:16:37
  • 使用PHP获取网络文件的实现代码

    2023-09-09 08:41:53
  • python中强大的format函数实例详解

    2022-02-19 18:47:10
  • Python递归实现打印多重列表代码

    2023-05-28 10:38:32
  • XSL简明教程

    2013-08-08 00:19:06
  • php中session_unset与session_destroy的区别分析

    2023-07-17 21:34:56
  • Python文件处理、os模块、glob模块

    2023-03-03 17:27:16
  • 一文详解Go中方法接收器的选择

    2024-05-28 15:36:32
  • 浅谈django 模型类使用save()方法的好处与注意事项

    2021-05-17 10:43:59
  • Python实现微信表情包炸群功能

    2022-08-17 07:28:14
  • SQL Server 分页查询通用存储过程(只做分页查询用)

    2024-01-12 20:10:11
  • python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件

    2023-09-08 09:30:22
  • Python新手学习函数默认参数设置

    2021-08-18 03:50:35
  • 试了下Golang实现try catch的方法

    2023-07-21 20:49:59
  • SQL Server误区30日谈 第11天 镜像在检测到故障后瞬间就能故障转移

    2024-01-22 13:13:00
  • Python torch.fft.rfft()函数用法示例代码

    2022-02-15 02:03:36
  • Python简易版图书管理系统

    2022-06-07 21:11:10
  • asp之家 网络编程 m.aspxhome.com