数据库输入数据问题

我们使用的是SQLserver2000作为教学用的数据库软件。一共建立三个表。一个是student,一个是course,一个是sc(选课表),我在course表中输入数据... 我们使用的是SQL server 2000作为教学用的数据库软件。一共建立三个表。一个是student,一个是course,一个是sc(选课表),我在course表中输入数据时,提示错误如下:INTER 语句与COLUMN FOREIGN KEY SAME TABLE约束'FK_course_cpno_7A9C383C'冲突。改冲突发生于数据库‘学生-课程’,表course,column 'cno'.语句已终止。
下面附上创建者三个表时的语句:
student表的创建语句:
create table student
(sno char(9) primary key,
sname char(20) unique,
ssex char(2),
sage smallint,
sdept char(20)
);
course表的创建语句:
create table course
(cno char(4) primary key,
cname char(40),
cpno char(4),
ccredit smallint,
foreign key (cpno) references course(cno)
);
SC表的创建语句:
create table sc
(sno char(9),
cno char(4),
grade smallint,
primary key (sno,cno),
foreign key (sno) references student(sno),
foreign key (cno) references course(cno)
);
不好意思。补充下。我是在输入CCREDIT这列时系统提示错误的。不过我 都是按照老师还有课本要求来的,检查了也没错。求解,谢谢。
展开
 我来答
SQL_Tang
2010-11-19 · 超过26用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:0
展开全部
这个是主键约束的问题。
INSERT INTO course VALUES ('A','A','A',1)
表COURSE 的cpno列为主键。
不能插入重复值
假如我执行了上面的SQL语句 再也不能插入在cpno列插入A的值了。
换个别的值就OK。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
515708429
2010-11-19 · TA获得超过119个赞
知道小有建树答主
回答量:299
采纳率:0%
帮助的人:128万
展开全部
primary key (sno,cno),
foreign key (sno) references student(sno),
foreign key (cno) references course(cno)
foreign key (cpno) references course(cno)
取消了就不会出这个问问题了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
googleyeyou
2010-11-19 · TA获得超过186个赞
知道小有建树答主
回答量:269
采纳率:100%
帮助的人:129万
展开全部
你在课程表里的cpno字段引用课程表的外键是什么意思?
字段不能引用自身所在表的字段当外键
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式