SQL 插入语句要求主键输入不能重复不能为空 sql语句怎么写

INSERTINTO[dbo].[试卷管理]([编号],[学年],[学期],[课程编号],[课程名称],[任课教师],[任课班级],[考试性质],[归档日期],[存放位置... INSERT INTO [dbo].[试卷管理]([编号], [学年], [学期], [课程编号], [课程名称], [任课教师],
[任课班级], [考试性质], [归档日期], [存放位置], [经手人])
VALUES (@编号,@学年,@学期,@课程编号,@课程名称,@任课教师,@任课班级,@考试性质,@归档日期,@存放位置,@经手人) 我把编号设置为主键,我这条sql语句要怎么写才能输入主键重复或为空时设置报错处理,我是用vb+sql2000写的
展开
 我来答
匿名用户
2013-08-22
展开全部
楼主,前面答题朋友给你的答案不是叫你改你的插入语句,而是叫你改表字段的约束条件,可能你建表的时候没有设置主键的约束条件,所以出现你提出的“输入主键重复或为空时”没有报错,那你执行了前面朋友给的这个语句,增加主键约束条件后,你再试试看有没有解决问题就对了。ALTER TABLE 表名 CONSTRAINT 约束名 PRIMARY KEY (例名)表名是你上面insert的那个表, [dbo].[试卷管理],约束名你自己起一个,PRIMARY KEY 后面跟(编号),NOT NULL,也就是:ALTER TABLE [dbo].[试卷管理] CONSTRAINT 约束名 PRIMARY KEY (编号) NOT NULL我机器上没有SQL 2000,请楼主自行测试。
coder_tmp
2015-10-08 · TA获得超过443个赞
知道小有建树答主
回答量:547
采纳率:100%
帮助的人:351万
展开全部
假设@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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-22
展开全部
ALTER TABLE 表名 CONSTRAINT 约束名 PRIMARY KEY (例名)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式