mysql防止重复插入相同记录 insert if not exists
2015-09-03 20:11
856 查看
我们在做数据库的数据保存时经常会用到相关的服务器脚本来防止重复保存相同数据,今天我们用insert if not exists条件来防止插入重复记录。
可以通过使用 EXISTS 条件句防止插入重复记录。
Code:
示例二:插入单条记录
Code:
使用 dual (关键字)做表名可以让你在 select 语句后面直接跟上要插入字段的值,即使这些值还不存在当前表中。
可以通过使用 EXISTS 条件句防止插入重复记录。
示例一:插入多条记录
假设有一个主键为 client_id 的 clients 表,可以使用下面的语句:Code:
<span style="font-size:14px;">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);</span>
示例二:插入单条记录
Code:<span style="font-size:14px;">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);</span>
使用 dual (关键字)做表名可以让你在 select 语句后面直接跟上要插入字段的值,即使这些值还不存在当前表中。
相关文章推荐
- mysql常见错误
- mysql创建范围分区表,并创建任务调度按预定频率添加分区
- mysql日志介绍
- MYSQL MVCC实现及其机制
- mysql sql优化的一些思考和结论
- [EF]vs15+ef6+mysql这个问题,你遇到过么?
- MySql存储过程例子1
- Mysql学习笔记(一)
- MySQL的MyISAM与InnoDB的索引方式
- LoadRunner利用ODBC编写MySql脚本
- 【9-2】mysql数据库学习01
- Mysql分库分表方案 - 血泪汗KG - 开源中国社区
- 58同城mysql分库分表实践-沈剑 - 豆丁网
- MySQL导入sql文件及常用命令
- mysql中间件研究(Atlas,cobar,TDDL) | 日志 | 果壳网 科技有意思
- mysql前缀索引
- mysql中的NULL的判断
- MySQL查询缓存设置提高MySQL查询性能
- mysql 杀掉(kill) lock进程脚本
- mysql 登陆密码错误问题