我对在 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 |
我觉得我错过了一些相当基本的东西,但我似乎无法发现它。有什么建议吗?