我试图使用参照完整性来创建一个引用父表中的主键的新表 . 但是,每次我尝试使用外键时,都会收到错误消息

ERROR 1005(HY000):无法创建表'nseshan.student'(错误号:150) .

这是我的数据库创建语句:

create table department (
  dept_name varchar(15), 
  building varchar(10), 
  budget int, 
  primary key (dept_name)
);    

create table student (
  ID int, 
  name varchar(20), 
  dept_name varchar(15), 
  tot_cred int, 
  primary key (ID), 
  foreign key (dept_name) 
    references department (dept_name) 
    on update cascade 
    on delete cascade
) engine=innodb;

有什么建议?我想我已经在两个表中正确定义了主键 .