我正在创建一个小型数据库,以便我可以在一般情况下获得MySQL和SQL的挂起。MySQL引擎= InnoDB错误1005 errno 150
我不知道我在做什么错,但我想我会发布我的代码,以防万一这个问题是句法,我只是不捕捉。
CREATE TABLE student(
ID varchar(5) NOT NULL,
name varchar(20) NOT NULL,
dept_name varchar(20),
tot_cred numeric(3,0),
PRIMARY KEY(ID),
FOREIGN KEY(dept_name)
REFERENCES department
ON UPDATE CASCADE
ON DELETE CASCADE)
ENGINE = InnoDB;
我已经创建了包含dept_name主键的'department'表。在使用外键约束时,我试图继续使用ENGINE = InnoDB,但显然不成功。
请问有人可以向我解释为什么MySQL向我抛出一个错误1005 errno 150以及我应该如何使用最简单的条件修复它?
“部门”中的哪一栏是引用的?它是否具有与“ID”相同的数据类型? – markg
您的外键更改引用部门(id) –