经常有一种场景,某类数据只能在一张表中存在一条,我们会创建唯一索引进行约束,但是如果重复插入就报错了,所以开发上一版都会先查一次然后再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;