2013-02-16 48 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支持。

相关问题