MySQL:如果不存在则新增一条数据

通过是否依赖唯一索引判重,可分为两种情况:

一、依赖索引判重

1、replace into,如果不存在就添加,如果存在就修改

replace into table(field1,field2,field3) values(1,2,3);

2、insert ignore,如果存在就忽略,如果不存在就添加

insert ignore into table(field1,field2,field3) values(1,2,3);

3、on duplicate key update,如果不存在就添加,如果存在就修改

insert into table(field1,field2,field3) values(1,2,3)
on duplicate key update 
field1=11,field2=22,field3=33;

二、不依赖索引判重,而是依赖表中某个字段,其中DUAL是临时表,可以直接这么使用

INSERT INTO table SELECT 1,2,3 FROM DUAL WHERE NOT EXISTS(SELECT field1 FROM table WHERE field1 = 11);

 参考内容:

https://blog.csdn.net/qq_42475949/article/details/116709280

https://www.cnblogs.com/monogem/p/9802942.html

上一篇:【Innodb】插入缓存,两次写,自适应hash索引


下一篇:浅尝JavaNIO