2015-04-21 115 views
0

當我前往創建新表ERROR 1005(HY000):無法創建表 './quotes/actions.frm'(錯誤:150)

CREATE TABLE actions (A_id int NOT NULL AUTO_INCREMENT, 
    type ENUM('rate','report','submit','edit','delete') NOT NULL, 
    Q_id int NOT NULL, 
    U_id int NOT NULL, 
    date DATE NOT NULL, 
    time TIME NOT NULL, 
    rate tinyint(1), 
    PRIMARY KEY (A_id), 
    CONSTRAINT fk_Question FOREIGN KEY (Q_id) REFERENCES questions(P_id)); 

顯示此錯誤:

ERROR 1005 (HY000): Can't create table './quotes/actions.frm' (errno: 150) ----------
With reference to
http://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html

InnoDB目前不支持具有用戶定義分區的表的外鍵。這包括父表和子表。

任何人都可以解釋上述行。

我不明白爲什麼我看到這個。

+0

'顯示引擎innodb狀態;' –

+0

您的'問題'表是否有任何分區? –

+0

當我終於輸入Engine = innoDB時,它會顯示這個錯誤。所以我去了文檔,我看到了分區。我的桌子沒有分區。但我想知道什麼是用戶定義的分區定義在我的問題從MySQL文檔引用。謝謝 –

回答

0

150通常通過以不同順序創建表來修復。如果不夠用(例如圓形FK),則使用ENABLE/DISABLE FOREIGN KEYS。

PARTITION ...是的。當前的PARTITIONing設計不允許使用任意的UNIQUE KEYS或FOREIGN KEYS。這可能不會改變,直到(可能)5.8。

相關問題