当我要创建一个新表时
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):无法创建表'./quotes/actions.frm'(错误号:150)----------参考http://dev.mysql.com/doc /refman/5.6/en/create-table-foreign-keys.html
InnoDB当前不支持具有用户定义分区的表的外键 . 这包括父表和子表 .
任何人都可以解释上述内容 .
我不明白为什么我会看到这个 .
1 回答
通常通过以不同的顺序创建表来修复150 . 如果不够(例如,圆形FK),请使用ENABLE / DISABLE FOREIGN KEYS .
分区......是的 . PARTITIONing的当前设计不允许任意的UNIQUE KEYS或FOREIGN KEYS . 直到(也许)5.8之前不太可能改变 .