有时向表中插入新记录时,不想插入与指定字段有重复数据的记录。如下表:
序号 | 栏目名 |
---|---|
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不能为空记录。