转 SQL当记录不存在时插入insert if not exists
程序员文章站
2022-07-15 07:57:20
...
转 SQL当记录不存在时插入insert if not exists
转自:http://blog.sina.com.cn/s/blog_5564eb640100i42t.html
插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,本文介绍的就是这个问题的解决方案。 问题:我创建了一个表来存放客户信息,我知道可以用 insert 语句插入信息到表中,但是怎么样才能保证不会插入重复的记录呢? 示例一:插入多条记录 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);
Ps:也可以是一个表(clients): INSERT INTO clients (id, name, type) SELECT 10345, 'IBM', 'advertising' FROM clients WHERE not exists (select * from clients where id = 10345); |
上一篇: 转 安装XP和LINUX双系统
下一篇: POI 实现合并单元格以及列自适应宽度