1、允许null值,使用UNIQUE关键字,建立唯一约束;
2、不允许null值,使用PRIMARY KEY关键字,建立主键约束。
把重复的那个字段设置为主键,不用做任何判断,自动就是插入不了重复的数据了
2.就是你用sql判断是否存在这条信息决定是否插入if(exists(select * from tb where username='zhangshan'))
以上两种情况,看能不能满足你的需求
你建表的时候为什么不把那列弄成唯一约束?
create procedure insert_pig
@str varchar(6), --定义一个输入参数,就是那个是不是重复的值
@str1 char(2)
--把每一列弄成变量存入,不知你的表有几字段,这里我就以两个字段为例
as
declare @sum int
begin tran
insert into admin (列1,列2) values (@str,@str1)
select @sum=count(*) from admin where username=@str
if(@sum>0)
begin
raiserror('该品种已经存在',16,8)
rollback tran --滚回事务
end
else
commit tran --提交事务
GO
--调用存储过程
exec insert_pig '张三','男'
----张三,男就是传入的参数,也就是张三赋值给了@str,男赋值给了@str1
觉得可以给加加分吧
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)