数据库
首页 > 数据库> > MySQL:如果不存在则新增一条数据

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

标签:一条,field2,field3,into,field1,新增,判重,MySQL,table
来源: https://www.cnblogs.com/shanyuqin/p/14917927.html