MySQLに外部キーを追加することについて少し混乱しています
私がやろうとしているのは、学生の主キーを次のように参照することです:
CREATE TABLE Enrolled(sid CHAR(20), cid CHAR(20), grade CHAR(2), PRIMARY KEY (sid, cid), FOREIGN KEY (sid) REFERENCES Students);
しかし、私が得るのは
ERROR 1005 (HY000): Can't create table 'test_db.Enrolled' (errno: 150)
あちこち探して見つけた
MySQL "エラー 1005 (HY000): テーブル 'foo.#sql-12c_4' を作成できません (errno: 150)"
ただし、学生テーブルには既に主キーがあるため、これは問題になりません。
| Students | CREATE TABLE Students (
sid char(20) NOT NULL DEFAULT '',
name char(20) DEFAULT NULL,
login char(10) DEFAULT NULL,
age int(11) DEFAULT NULL,
gpa float DEFAULT NULL,
PRIMARY KEY (sid)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
かなり基本的なものが欠けているように感じますが、それを見つけることができないようです。何かアドバイス?