mysql中避免重复插入记录方法
来源:互联网 发布:sql update 多个where 编辑:程序博客网 时间:2024/05/16 19:17
本经验给大家提供三种在mysql中避免重复插入记录方法,主要是讲到了ignore,replace,on duplicate key update三种方法。大家可以参考使用。
1、使用ignore关键字.
主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用。
如果使用一般的插入,则会报主键重复的错。Duplicate entry '1' for key 'PRIMARY'
2、如果使用代有ignore的插入语句:INSERT IGNORE INTO t_ignore (`id`, `name`, `mark`) VALUES (1, 'test1', '测试');
这样当有重复记录就会忽略,执行后返回数字0
INSERT IGNORE INTO t_ignore (`id`, `name`, `mark`)
SELECT id, name,mark from t_ignore_test
4、使用Replace
REPLACE的运行与INSERT很相像,但是如果旧记录与新记录有相同的值,则在新记录被插入之前,旧记录被删除。
使用语法:
REPLACE INTO `table_name`(`col_name`, ...) VALUES (...);
REPLACE INTO `table_name` (`col_name`, ...) SELECT ...;
REPLACE INTO `table_name` SET `col_name`='value'
5、使用on duplicate key update
如上,你也可以在insert into…..后面加上 on duplicate key update方法来实现。如果您指定了on duplicate key update,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则执行旧行update操作。
例如:name为unique,有一列name值为test1了,执行一下sql
insert into t_ignore(id,name,mark) values (1,'test1','test1') on duplicate key update mark='ccc';
则等同于
update t_ignore set mark='cc' WHERE name='test1';
6、如果行作为新记录被插入,则受影响行的值为1;如果原有的记录被更新,则受影响行的值为2
- mysql中避免重复插入记录方法
- MySql避免重复插入记录方法
- MySQL避免插入重复记录的方法
- MySQL避免重复插入记录方法总结
- MySql避免重复插入记录方法
- MySql避免重复插入记录
- MySql避免重复插入记录
- MySql避免重复插入记录
- MySql避免重复插入记录
- MySql避免重复插入记录
- mysql避免插入重复记录
- MySql避免重复插入记录
- MySql避免重复插入记录
- Mysql避免重复插入记录
- mysql避免重复插入记录
- MySql避免重复插入记录的几种方法
- 避免重复入库的插入记录方法-----mysql 使用记号
- MySql避免重复插入记录的几种方法
- python错误
- 体验复杂度
- 开始学习数据结构
- C#通过委托实现窗体间的控制传递
- python+selenium 测试报告
- mysql中避免重复插入记录方法
- 在应用内邀请用户通过testFlight下载内测版本
- sql数据库操作2
- 小小Java面试题(二)
- Git 的origin和master解析
- vue 路由页面之间如何用手指进行滑动
- Java IO
- 微信浏览器取消缓存的方法
- 静态库和动态库的制作(OC、Swift)