错误号150 mySQL
当我试图在同一个表中创建两个外键时,出现了这个问题 我怎样才能修好它&谢谢你错误号150 mySQL,mysql,Mysql,当我试图在同一个表中创建两个外键时,出现了这个问题 我怎样才能修好它&谢谢你 create table employee( employeeNumber INT (11) primary key, ); create table projects( projectNumber INT(11) primary key , ); create table workat( wemployeeNumber INT(11), wprojectNUmber INT (11), primary k
create table employee(
employeeNumber INT (11) primary key,
);
create table projects(
projectNumber INT(11) primary key ,
);
create table workat(
wemployeeNumber INT(11),
wprojectNUmber INT (11),
primary key (wemployeeNumber,wprojectNUmber),
FOREIGN key workat(wemployeeNumber) references employee(employeeNumber),
FOREIGN key workat(wprojectNUmber) references projects(projectNumber)
);
您的
外键
语法让我很反感,我不知道您为什么要将定义包装在workat
中。请尝试以下版本:
CREATE TABLE workat (
wemployeeNumber INT(11),
wprojectNUmber INT(11),
PRIMARY KEY (wemployeeNumber, wprojectNumber),
FOREIGN KEY (wemployeeNumber) REFERENCES employee (employeeNumber),
-- projects, not project
FOREIGN KEY (wprojectNUmber) REFERENCES projects (projectNumber)
);
下面是一个演示,演示您的代码在进行上述更改后进行编译:
创建工作表(wemployeeNumber INT(11)、wprojectNUmber INT(11)、主键(wemployeeNumber、wprojectNUmber)、外键wemployeeNumber引用员工(employeeNumber)、外键wprojectNUmber引用项目(projectNumber));没有work@riadhgazouna……然后……接下来发生了什么?@TimBiegeleisen他的例子中还有另外两个打字错误,你的答案重复了其中一个,否则就完美无缺了。再加一个给你,让他自己去查。@Tim Biegeleisen这个错误#1005-无法创建表
公司工作时间(errno:150“外键约束格式不正确”)(详细信息…@riadhgazouna请查看我的演示以获得一个工作示例。前两个create table语句中也有逗号。您到底遇到了什么问题?:-)