外键引用了无效的表是什么意思啊?

CREATETableTeachers(Tnochar(7)primarykey,Tnamechar(10)notnull,Sexchar(2)check(Sex='男'... CREATE Table Teachers
(
Tno char(7) primary key,
Tname char(10) not null,
Sex char(2) check (Sex = '男' or Sex = '女'),
Birthday Date,
Title char(6),
Dno char(4),
foreign key(Dno) references Departments(Dno)
);

CREATE Table SC
(
Sno char(9),
Cno char(5),
Grade smallint check(Grade >= 0 AND Grade <= 100),
primary key(Sno, Cno),
foreign key(Sno) references Students(Sno),
foreign key(Cno) references Cources(Cno)
);

CREATE Table Departments
(
Dno char(4) primary key,
Dname char(10),
Dheadno char(7),
foreign key(Dheadno) references Teachers(Tno)
);

CREATE Table Students
(
Sno char(9) primary key,
Sname char(10) not null,
Sex char(2) check (Sex = '男' OR Sex = '女'),
Birthday Date,
Enrollyear char(4),
Speciality char(20),
Dno char(3),
foreign key(Dno) references Departments(Dno)
);

CREATE Table Cources
(
Cno char(5) primary key,
Cname char(20) not null,
Perid smallint,
Credit smallint
);

CREATE Table Teaches
(
Tno char(7),
Cno char(5),
TCscore smallint,
primary key(Tno, Cno),
foreign key(Tno) references Teachers(Tno),
foreign key(Cno) references Courses(Cno)
);

上面的程序运行后的提示消息是:
消息 1767,级别 16,状态 0,第 1 行
外键 'FK__Teachers__Dno__282DF8C2' 引用了无效的表 'Departments'。
消息 1750,级别 16,状态 0,第 1 行
无法创建约束。请参阅前面的错误消息。

这是为什么啊?
展开
 我来答
sunwenhaiwindy
2012-09-26 · TA获得超过318个赞
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:82.9万
展开全部
你这第一个表创建的时候 引用的外键 是Departments表里边的主键,但是Departments这个表现在还没有创建,所以报错,你得先调整一下几个表的创建顺序
更多追问追答
追问
那上面创建的表Teachers 和 表Departments 是相互引用主键,这样怎么调整都不行啊!
追答
那你可以再创建表之后再添加外键约束条件啊
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Daisy19911125
2012-09-26
知道答主
回答量:9
采纳率:0%
帮助的人:9.1万
展开全部
外键所在的表应该在该表之前建立,不然无法找到外键所在的表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式