SQL语句,在往表test中插入“内容”字段时,检查该字段是否有重复数据

若与表中数据有重复,则忽略,不插入,如何实现?用触发器?最好有具体语句(不用唯一性索引)... 若与表中数据有重复,则忽略,不插入,如何实现?用触发器?最好有具体语句(不用唯一性索引) 展开
 我来答
yegao
2014-12-18 · TA获得超过1154个赞
知道小有建树答主
回答量:533
采纳率:66%
帮助的人:377万
展开全部
--创建表 
create table test(
cid int not null,
content varchar(128) not null
)
--触发器,如果test中的content已经存在要插入的值即不执行插入操作,否则执行插入操作
create trigger trg_content_insert
on test
instead of insert
as
declare @content varchar(128),@c int;
select @content=content from inserted;
select @c=count(1) from test where content=@content;
if @c>0
 print'已经存在该内容,不可重复插入'
else 
 begin
  insert into test select * from inserted;
  print'不存在该内容,插入成功'
 end
go
百度网友2dca20d
推荐于2018-04-10 · TA获得超过4036个赞
知道大有可为答主
回答量:2638
采纳率:77%
帮助的人:1012万
展开全部
INSERT INTO 表(列名) VALUES(CASE WHEN EXISTS(SELECT * FROM 表 WHERE 列名='插入的值') THEN '' ELSE '插入的值' END)
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式