SQL 插入语句要求主键输入不能重复不能为空 sql语句怎么写
INSERTINTO[dbo].[试卷管理]([编号],[学年],[学期],[课程编号],[课程名称],[任课教师],[任课班级],[考试性质],[归档日期],[存放位置...
INSERT INTO [dbo].[试卷管理]([编号], [学年], [学期], [课程编号], [课程名称], [任课教师],
[任课班级], [考试性质], [归档日期], [存放位置], [经手人])
VALUES (@编号,@学年,@学期,@课程编号,@课程名称,@任课教师,@任课班级,@考试性质,@归档日期,@存放位置,@经手人) 我把编号设置为主键,我这条sql语句要怎么写才能输入主键重复或为空时设置报错处理,我是用vb+sql2000写的 展开
[任课班级], [考试性质], [归档日期], [存放位置], [经手人])
VALUES (@编号,@学年,@学期,@课程编号,@课程名称,@任课教师,@任课班级,@考试性质,@归档日期,@存放位置,@经手人) 我把编号设置为主键,我这条sql语句要怎么写才能输入主键重复或为空时设置报错处理,我是用vb+sql2000写的 展开
3个回答
2013-08-22
展开全部
楼主,前面答题朋友给你的答案不是叫你改你的插入语句,而是叫你改表字段的约束条件,可能你建表的时候没有设置主键的约束条件,所以出现你提出的“输入主键重复或为空时”没有报错,那你执行了前面朋友给的这个语句,增加主键约束条件后,你再试试看有没有解决问题就对了。ALTER TABLE 表名 CONSTRAINT 约束名 PRIMARY KEY (例名)表名是你上面insert的那个表, [dbo].[试卷管理],约束名你自己起一个,PRIMARY KEY 后面跟(编号),NOT NULL,也就是:ALTER TABLE [dbo].[试卷管理] CONSTRAINT 约束名 PRIMARY KEY (编号) NOT NULL我机器上没有SQL 2000,请楼主自行测试。
展开全部
假设@ID为主键列对应的值
if @ID is not null
begin
if not exists(select 1 from mytable where ID=@ID)
begin
insert into mytable(ID,....) values(@ID,....)
end
end
if @ID is not null
begin
if not exists(select 1 from mytable where ID=@ID)
begin
insert into mytable(ID,....) values(@ID,....)
end
end
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-22
展开全部
ALTER TABLE 表名 CONSTRAINT 约束名 PRIMARY KEY (例名)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |