错误号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语句中也有逗号。您到底遇到了什么问题?:-)