使用insert语句避免向表中插入重复数据

Posted lfq761204

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用insert语句避免向表中插入重复数据相关的知识,希望对你有一定的参考价值。

有时向表中插入新记录时,不想插入与指定字段有重复数据的记录。如下表:

序号栏目名
1栏目1

如果使用语句:insert into table(栏目名) values("栏目1"),则会插入重复的栏目名为“栏目1”的记录,这显然不是想要的结果,如下表:

序号栏目名
1栏目1
2栏目1

 

要避免出现这种情况,除了在数据库中创建触发器外,也可以用简单的insert语句:

insert into table(栏目名) select top 1 "栏目1" from table where not exists(select * from table where 栏目名="栏目1")

当table表中已有栏目名为“栏目1”的记录时,where条件语句的限制将避免栏目名为“栏目1”的记录插入表中。

注意:运行该语句时,数据表table不能为空记录。

以上是关于使用insert语句避免向表中插入重复数据的主要内容,如果未能解决你的问题,请参考以下文章

SQL INSERT INTO 语句:向表中插入新记录语法及案例剖析

MySQL 语句级避免重复插入—— Insert Select Not Exist

如何忽略MySQL中insert语句的连续重复

30-4 向表中插入多条记录

SQL 基础之DML 数据处理(十三)

Oracle中插入数据