我在 mysql 中创建了四个表。但它在创建第四个时显示错误。
错误 1005 (HY000): 无法创建表 'db.grades' (errno: 150)
我检查了外键的名称和类型是否正确。有什么建议么?谢谢。
CREATE TABLE students
(
id int unsigned not null,
first_name VARCHAR(50),
last_name VARCHAR(50),
email_address VARCHAR(50),
primary key (id)
);
-------
CREATE TABLE departments
(
school_code enum('L', 'B', 'A', 'F', 'E', 'T', 'I', 'W', 'S', 'U', 'M' ),
dept_id int unsigned,
abbreviation VARCHAR(9),
dept_name VARCHAR(200),
PRIMARY KEY (school_code,dept_id)
);
----
create table courses(
school_code enum('L', 'B', 'A', 'F', 'E', 'T', 'I', 'W', 'S', 'U', 'M' ),
dept_id int unsigned,
course_code char(5),
name varchar(150),
primary key (school_code,course_code,dept_id)
);
-----
create table grades(
pk_grade_ID int unsigned auto_increment,
student_id int unsigned not null,
grade decimal,
school_code enum('L', 'B', 'A', 'F', 'E', 'T', 'I', 'W', 'S', 'U', 'M' ),
dept_id int unsigned,
course_code char(5),
name varchar(150),
primary key (pk_grade_ID),
foreign key (student_id) references students(id),
foreign key (school_code,course_code,name) references courses (school_code,course_code,name)
);
----