MySQL 当记录不存在时insert

一、使用场景

我们使用MYSQL的时候,为了防止重复的插入,我们就需要先判断是否数据库中时候存在相同的记录。MySQL我们借助于insert into select from的语法进行处理这种问题。

二、示例

1、单条插入:通过dual伪表来判断。
INSERT INTO clients
(client_id, client_name,)
SELECT 1, 'Calvin', 
FROM dual
WHERE not exists (select * from clients
where clients.client_id = 1);

JDBC插入语句示例

INSERT INTO tbl_teahouse_member
 (player_id,house_id ,status) 
 SELECT ?,? ,? FROM dual 
WHERE not exists (select * from tbl_teahouse_member 
WHERE house_id = ? and player_id= ? )
2、多条插入:通过关联表
INSERT INTO clients
(client_id, client_name)
SELECT supplier_id, supplier_name
FROM suppliers
WHERE not exists (select * from clients
where clients.client_id = suppliers.supplier_id);
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一. Java基础部分.................................................
    wy_sure阅读 9,288评论 0 11
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,686评论 18 399
  • 我们很多固有的观念,一直深信不疑。像温水煮青蛙,实际上温水根本煮不了青蛙,实际实验可以发现,青蛙随着水温的慢慢上涨...
    王泉爱分享阅读 4,780评论 4 3
  • 这几天去广州向大V学习,他给我说了一个高大上的名词来解释这种现象。 奶嘴战略 他说,人口分化、财富差异加剧。政治精...
    七夜幻夢1阅读 12,269评论 0 1
  • 我们生活和工作都每天日复一日重复循环,有的人活的特别轻快,有的是则是提不起精神来,日子平淡无味的如同白开水...
    faye26阅读 3,836评论 1 2

友情链接更多精彩内容