我知道关于这个错误有很多关于 SO 的问题,但即使应用我从中收集到的内容,我仍然得到“无法创建表(错误号: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 也是独一无二的,所以我切换到那个。它不是主键。
我错过了什么?