A. 服务器: 消息 1767,级别 16,状态 1,行 1 外键 'FK__SC__Sno__47DBAE45' 引用了无效的表 'Student'。
--楼主 你搞错顺序了 既然有那么多外键 那么肯定要先创建主键表
--帮你改了
use JW_System
go
CREATE TABLE Sdept
(Dno CHAR(10) PRIMARY KEY,
Dname CHAR(20) UNIQUE,
Dtel BIGINT
);
CREATE TABLE Teacher
(Tno CHAR(10) PRIMARY KEY,
Tname CHAR(20),
Tsex CHAR(2),
Tjob CHAR(10),
Tsdept CHAR(10),
Ttel BIGINT,
Dno CHAR(10),
FOREIGN KEY (Dno) REFERENCES Sdept(Dno)
);
CREATE TABLE Class
(Cno CHAR(10) PRIMARY KEY,
Lcredit BIGINT,
Tno CHAR(10),
Dno CHAR(10),
FOREIGN KEY (Tno) REFERENCES Teacher(Tno), /*表级完整性约束条件,Tno是外码*/
FOREIGN KEY (Dno) REFERENCES Sdept(Dno)); /*表级完整性约束条件,Dno是外码*/
CREATE TABLE Student
(Sno CHAR(10) PRIMARY KEY,
Sname CHAR(20) UNIQUE,
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20),
Sbirth CHAR(10),
Class CHAR(10) REFERENCES Class(Cno) /*表级完整性约束条件,Class是外码*/
);
CREATE TABLE Course
(Cno CHAR(10) PRIMARY KEY,
Cname CHAR(20) UNIQUE,
Ccredit SMALLINT,
Ctime SMALLINT,
Tno CHAR(10),
Cpeople BIGINT,
FOREIGN KEY (Tno) REFERENCES Teacher(Tno) /*表级完整性约束条件,Tno是外码*/
);
CREATE TABLE SC
(Sno CHAR(10),
Cno CHAR(10),
Grade SMALLINT CHECK(Grade>=0 AND Grade<=100),
PRIMARY KEY (Sno, Cno),
FOREIGN KEY (Sno) REFERENCES Student(Sno)
ON DELETE CASCADE /* 当删除Student表中的元组时,级连删除SC表中相应的元组*/
ON UPDATE CASCADE,/*当更新Student表中的Sno时,级连更新SC表中相应的元组*/
FOREIGN KEY (Cno) REFERENCES Course(Cno) /*表级完整性约束条件,Sno是外码*/
on delete no ACTION
ON UPDATE CASCADE /*当更新Course表中的Cno时,级连更新SC表中相应的元组*/
);
--如果解决了楼主的问题 请采纳
B. “外键'FK__Staff__Dno__51BA1E3A' 引用了无效的表'Dept'。”求大神解决。
要先建dept表,后建staff表
C. 外键引用了无效的表是什么意思啊
你这第一个表创建的时候 引用的外键 是Departments表里边的主键,但是Departments这个表现在还没有创建,所以报错,你得先调整一下几个表的创建顺序
D. sql Server 2005 外键引用了无效的表,跪求解决!!
外键引用的列必须是那个表的主键。
你不能用卖家地址和买家地址去建外键。
E. sql 外键
constraint pk_cj primary key(学号,课程号)
这个是给表,创建一个 主键约束。
也就是 学号,课程号 能够确定一条唯一的纪录。
不能有 一个学号, 一个课程号, 有2个成绩的情况。
constraint fk_cj foreign key(课程号) references kc(课程号)
这个是给表,创建一个 外键约束。
意思是,我这个表的 课程号, 必须是在 kc 这个表里面 有的。
我这个表不能凭空新建一个不存在的课程号。
外键 'fk_cj' 引用了无效的表 'kc'。
原因是, 你那里可能 kc 表, 也就是 课程表, 还没有创建好, 所以外键创建失败。
SQL Server 外键约束的例子
http://hi..com/wangqing999/blog/item/969f70fa84e2873e5d600821.html
F. SQL2014中设置自身外键,总是显示错误,说引用无效列,怎么回事 急求
references 主表表名(主表字段名)
按常理说应该有个course表吧,关联里边的cid字段,也就是references course(cid)