MySQL 创建外键时报 105 错误的原因

执行创建外键的语句是:

alter table osc_forum_fields add constraint FK_forum_value foreign key (forum)
      references osc_forums (  id  );

执行错误信息是:

[SQL] alter table osc_forum_fields add constraint FK_forum_value foreign key (forum)
      references osc_forums (  id  );
[Err] 1005 - Can't create table 'oschina.#sql-654_1a' (errno: 150)

经测试发现原来 osc_forums 表的类型是 MyISAM ,而 osc_forum_fields 表是用 InnoDB 创建的,因此无法创建外键,将 osc_forum_fields 表重建为 MyISAM 后问题解决。

你可能感兴趣的:(sql,mysql)