Welcome 微信登录

首页 / 数据库 / MySQL / MySQL中数据重复的判断方法

MySQL中数据重复的判断方法2014-10-22本人工作中的实际应用.在采集数据的时候,要求数据采集以后,不能重复.同时也要求有多个实例同时运转,保证数据采集的连续性.因此总结了一下,做成了如下的小试验.核心代码如下:

表结构:只有3个字段

id,name,password

Sql代码

CREATE TABLE `tt` (`Id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(255) DEFAULT NULL,`password` varchar(255) DEFAULT NULL,PRIMARY KEY (`Id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
sql语句

1)推荐

Sql代码

   insert ignore into tt(name,password) values("phl","123")

2)不推荐,因为insert的时候select,会锁定select的表

Sql代码

   insert into tt(name,password) select "phl","123" from dual where not exists(select * from tt where name="phl" and password="123")

这个SQL语句的含义是,如果插入的数据 name="phl",password="123"不存在,则执行插入;

补充:

方法1里面,之所以没有过滤。是因为没有建立name与password的联合主建;

URL:http://www.bianceng.cn/database/MySQL/201410/46066.htm