このエラーに関してSOについて多くの質問があることは知っていますが、それらから収集したものを適用しても、「テーブルを作成できません(errno:150)」というメッセージが表示されます。
CREATE TABLE sch_results
(
id INT NOT NULL AUTO_INCREMENT,
s_id INT UNSIGNED NOT NULL,
r_eid VARCHAR(10) NOT NULL,
cohorts INT,
allstudents INT,
comments TEXT,
PRIMARY KEY (id),
FOREIGN KEY (s_id) REFERENCES scholarships (id),
FOREIGN KEY (r_eid) REFERENCES sch_recommenders (eid)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
外部キーが両方とも、それぞれのテーブルにその名前で正確に格納されていることを確認しました。
それぞれのデータ型がこのクエリと一致することを確認しました。2つの既存のテーブルがInnoDBとutf8を使用していることを確認しました。
UNSIGNEDNOTNULLを外部キーに追加しました。
テーブル内の2つの外部キーにインデックスを付けました。最初はs_idとr_idを使用していましたが、これにより問題が発生する可能性があると聞きました。r_eidもユニークなので、それに切り替えました。主キーではありません。
私は何が欠けていますか?