2013-02-16 49 views
0

爲什麼我無法在我的表付款中創建外鍵。如果引擎是MyISAM,表中沒有外鍵

crate table students(
text char(5)NOT NULL, 
id int(11)NOT NULL AUTO_INCREMENT, 
name varchar(250), 
level varchar(250), 
PRIMARY KEY (text,id) 
)ENGINE=MyISAM; 

奧德表

crate table payments(
    p_id int(11)NOT NULL AUTO_INCREMENT, 
    amount varchar(250), 
    id int 
    PRIMARY KEY (p_id) 
FOREIGN KEY (id) REFERENCES students(id) 
    )ENGINE=MyISAM; 
+0

切換到InnoDB引擎。投票結束,因爲這些信息可以通過搜索輕鬆獲得..首先有一個搜索,對吧? – 2013-02-16 23:48:54

+1

由於MyISAM不支持外鍵。 退房http://stackoverflow.com/questions/10769732/foreign-key-on-myisam-table-alternative – 2013-02-16 23:50:14

+0

此外FYI你有一個錯字 - 箱子而是創建 – 2013-02-16 23:52:10

回答

3

由於MyISAM不支持外鍵。 FK聲明被解析,但被忽略。您需要使用InnoDB表來實現真正的FK支持。

相關問題