当我要创建一个新表时
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 目前不支持具有用户定义分区的表的外键。这包括父表和子表。
谁能解释一下上面几行。
我不明白为什么我会看到这个。
最佳答案
150 通常通过以不同的顺序创建表来修复。如果还不够(例如,循环 FK),请使用 ENABLE/DISABLE FOREIGN KEYS。
分区...确实如此。当前的 PARTITIONing 设计不允许任意的 UNIQUE KEYS 或 FOREIGN KEYS。这在(也许)5.8 之前不太可能改变。
关于mysql - 错误1005(HY000): Can't create table './quotes/actions.frm' (errno: 150),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29769367/