本人工作中的实际应用.在采集数据的时候,要求数据采集以后,不能重复.同时也要求有多个实例同时运转,保证数据采集的连续性.因此总结了一下,做成了如下的小试验.核心代码如下:
表结构:只有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;
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语句
Sql代码
insert into tt(name,password) select 'phl','123' from dual where not exists(select * from tt where name='phl' and password='123')
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'不存在,则执行插入;
表结构:只有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;
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语句
Sql代码
insert into tt(name,password) select 'phl','123' from dual where not exists(select * from tt where name='phl' and password='123')
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'不存在,则执行插入;