Я знаю, что на 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;
Я проверил, что внешние ключи оба хранятся точно под этим именем в соответствующих таблицах.
Я проверил, что их соответствующие типы данных соответствуют этому запросу.Я проверил, что две существующие таблицы используют InnoDB и utf8.
Я добавил UNSIGNED NOT NULL к внешним ключам.
Я проиндексировал два внешних ключа в их таблицах.Изначально я использовал s_id и r_id, но слышал, что это может вызвать некоторые проблемы.r_eid также уникален, поэтому я переключился на это.Это не первичный ключ.
Чего мне не хватает?Спасибо!
ИЗУЧЕННЫЙ УРОК: Тщательно проверьте все аспекты ваших типов данных!