经常有一种场景,某类数据只能在一张表中存在一条,我们会创建唯一索引进行约束,但是如果重复插入就报错了,所以开发上一版都会先查一次然后再insert。
mysql有个简单的写法,基于已经创建的索引,如果存在的话,那么就忽略这条记录的插入。
不废话了,上代码吧。
create table userabc(username varchar(20),pwd varchar(10),memo text);
create unique index Idx_username_pwd on userabc(username,pwd)
insert ignore into userabc values('zhangsan','111','ldkdkdk');
select * from userabc;
insert ignore into userabc values('zhangsan','111','ldkdkdk');
select * from userabc;