2014-01-22 83 views
0

當我執行下面的SQL查詢:獲得在SQL執行錯誤與外鍵約束創建表

CREATE TABLE course 
(
    course_id varchar(7) , 
    title varchar(50) , 
    dept_name varchar(20) , 
    credits numeric(2, 0) , 
    PRIMARY KEY (course_id) , 
    FOREIGN KEY (dept_name) REFERENCES department 
); 

我收到以下錯誤:

MySQL said: Documentation 

1215 - Cannot add foreign key constraint 

任何見解,以幫助解決這個問題?

回答

0

參考應該是這樣REFERENCES TABLE(COLUMN_NAME)

FOREIGN KEY (dept_name) REFERENCES department(dept_name) 

然後它會看起來像

CREATE TABLE course 
(
    course_id varchar(7) , 
    title varchar(50) , 
    dept_name varchar(20) , 
    credits numeric(2, 0) , 
    PRIMARY KEY (course_id) , 
    FOREIGN KEY (dept_name) REFERENCES department(dept_name) 
); 
+0

非常感謝! – user3184496

+0

歡迎您:) – zzlalani

1

您沒有包含從父表中引用的字段。

它應該是:

FOREIGN KEY (dept_name) REFERENCES department(dept_name) 
+1

@zzlalani:rofl –

0

你需要指定其列在您的參考表匹配。您的查詢應該是這樣的:

CREATE TABLE course 
(
    course_id varchar(7) , 
    title varchar(50) , 
    dept_name varchar(20) , 
    credits numeric(2, 0) , 
    PRIMARY KEY (course_id) , 
    FOREIGN KEY (dept_name) REFERENCES department (dept_name) 
); 
+0

非常感謝您 – user3184496