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

Posted 豫秦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于MySQL:如果不存在则新增一条数据的主要内容,如果未能解决你的问题,请参考以下文章

MySQL新增数据,存在就更新,不存在就添加

MySQL数据存在更新不存在新增数据

MySQL数据存在更新不存在新增数据

Mysql存在则更新,没有则新增

有人可以在快速数组中给出“如果不存在则追加”方法的片段吗?

MSSQL更新数据,某主键存在则更新,不存在则插入