MySQL 建立外來鍵時報 105 錯誤的原因

2021-08-30 23:04:24 字數 485 閱讀 6764

執行建立外來鍵的語句是:

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 後問題解決。

Mysql建立外來鍵約束時,報errno 150

alter table abc add column cd id bigint default null alter table abc add constraint fk cd id foreign key cd id references cd id on delete set null err...

mysql建立外來鍵

建立外來鍵的前提 本表的列必須與外來鍵型別相同 外來鍵必須是外表主鍵 外來鍵作用 使兩張表形成關聯,外來鍵只能引用外表中的列的值!指定主鍵關鍵字 foyunmkreign key 列名 引用外來鍵關鍵字 references 外來鍵表名 外來鍵列名 事件觸發限制 on delete和on updat...

mysql建立外來鍵案例 MySQL外來鍵例項

外來鍵例項 性別表create table gender gid int auto increment primary key not null,gender char 10 insert into gender gender values male female unknown 乙個表只能有乙個主...