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)