我知道关于这个错误有很多关于SO的问题,但即使应用我从这些收集的东西,我仍然得到“不能创建表(errno:150 )“MySQL 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也是独一无二的,所以我转向了这一点。这不是主要关键。
我错过了什么?谢谢!
课程学习:彻底检查数据类型的各个方面!
所有列具有相同的定义?什么是奖学金和sch_recommander如何? – 2012-02-28 02:13:59
奖学金ID:INT长度3 sch_recommenders eid:VARCHAR长度10 – Beatrice 2012-02-28 02:15:16
您可以同时显示奖学金和sch_recommenders表结构吗? – 2012-02-28 02:20:27