0
我有以下表格,我試圖在MySQL中運行它們,但我一直在得到一個errno 150.只是不知道爲什麼,但MySQL似乎無法創建外鍵約束。我已經看過InnoDB設置FK的規則,一切似乎都沒問題。有人可以借我另一套眼睛和專業知識嗎?MySQL InnoDB外鍵問題
-- Table publication_type (parent table)
CREATE TABLE publication_type (
id int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
publication_type varchar(55) NOT NULL,
tstamp timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT publication_type_pk PRIMARY KEY (id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
-- Table publication (child table)
CREATE TABLE publication (
id int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
authors varchar(255) NOT NULL,
publication_title varchar(100) NOT NULL,
publication_type_id int(11) UNSIGNED NOT NULL,
user_id int(11) UNSIGNED NOT NULL,
CONSTRAINT publication_pk PRIMARY KEY (id),
CONSTRAINT publication_type_fk FOREIGN KEY (publication_type_id) REFERENCES publication_type(id) ON DELETE SET NULL ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
感謝@Matteo,但我編輯了腳本(見上面),它仍然給出相同的錯誤。 – gabz
然後運行'SHOW INNODB STATUS'並檢查實際的錯誤可能是什麼。 –