我知道關於這個錯誤有很多關於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