2016-09-18 40 views
-3
create table Enroll 
(
    Student_ID int primary key not null, 
    Subject_Code varchar(10) primary key not null, 
    Enroll_Date Date, 

    Foreign key(Student_ID) references Student, 
    Foreign keh(Subject_Code) references Subject 
) 

enroll表有Student_IDSubject_Code外鍵和初級複合表,當我執行這條SQL語句,它會產生一個錯誤,是它無論如何解決這一問題?複合實體編譯錯誤

+1

'外國keh'拼寫錯了,它應該是'外國key'。你正在使用哪個'RDBMS'。同時發佈錯誤消息 –

+0

*外部keh(Subject_Code)*,正確*鍵*在此處拼寫 – Ravi

+0

關鍵字「PRIMARY KEY」無效,因爲使用了.. SQLCODE = -637,SQLSTATE = 42614,DRIVER = 3.68.61 腳本:\ RemoteSystemsTempFiles \ Script2.sql 數據庫名稱:TEST 授權ID(數據庫):DB2ADMIN 系統/ IP地址:桌面HJIGM59/192.168.0.4 用戶ID(系統):DB2ADMIN –

回答

0

複合主鍵必須另行申報,而不是它的列定義的一部分:

create table Enroll 
(
    Student_ID int not null, 
    Subject_Code varchar(10) not null, 
    Enroll_Date Date, 

    primary key (Student_ID, Subject_Code), 
    Foreign key(Student_ID) references Student, 
    Foreign key(Subject_Code) references Subject 
)