MySQL中数据重复的判断方法
本人工作中的实际应用.在采集数据的时候,要求数据采集以后,不能重复.同时也要 求有多个实例同时运转,保证数据采集的连续性.因此总结了一下,做成了如下的小试验. 核心代码如下: 表结构:只有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 (编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |