来自
FOREIGN KEY约束
如果重新创建已删除的表,则该表必须具有符合引用该表的外键约束的定义。如前所述,它必须具有正确的列名和类型,并且必须在引用的键上具有索引。如果不满足这些条件,MySQL将返回错误号1005,并在错误消息中引用错误150。
我 怀疑 这是因为您没有
foo以InnoDB的身份创建,因为其他一切看起来都还可以。
编辑:从同一页面-
两个表都必须是InnoDB表,并且不能是TEMPORARY表。

来自
FOREIGN KEY约束
如果重新创建已删除的表,则该表必须具有符合引用该表的外键约束的定义。如前所述,它必须具有正确的列名和类型,并且必须在引用的键上具有索引。如果不满足这些条件,MySQL将返回错误号1005,并在错误消息中引用错误150。
我 怀疑 这是因为您没有
foo以InnoDB的身份创建,因为其他一切看起来都还可以。
编辑:从同一页面-
两个表都必须是InnoDB表,并且不能是TEMPORARY表。