2016-02-01 45 views
2

這是我的代碼ATM,如何將外鍵添加到MYSQL?

CREATE TABLE session(Code CHAR(2), 
Date DATE PRIMARY KEY, 
Room VARCHAR(30) null, 
FOREIGN KEY(code) REFERENCES module (code) 
); 
CREATE TABLE module( 
Code CHAR(2) PRIMARY KEY, 
Name VARCHAR(30) not null, 
Cost DECIMAL(8,2) not null, 
Credits TINYINT not null, 
Course_code CHAR(3), FOREIGN KEY(Course_code) REFERENCES take(code) 
); 

我一直得到一個1005錯誤,「外鍵約束的格式不正確」 沒有人知道如何解決這個問題???

+0

在普通的SQL中,不會有逗號。在MySQL中,您可能需要一個單獨的行來處理外鍵約束。 –

+0

創建會話表時,模塊表不存在,因此您無法使用外鍵引用模塊表。 – Shadow

+0

我如何參考? –

回答

1

您使用了CREATE TABLE module(Code CHAR(2) PRIMARY KEY,但在另一張表中,您使用了REFERENCES module (code)。我不知道你是否注意到,但沒有code專欄。正確的是Code。列的名稱區分大小寫。

我的建議:每code(帶小寫)更改爲Code(帶首字母大寫)。只是爲了檢查這實際上是否是問題。

+0

嘗試過,但沒有,這是什麼樣的MySQL應該像 –

+0

http://tinypic.com/r/14mfc5j/9 –