Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建mysql表时出错?_Mysql_Sql_Syntax_Syntax Error - Fatal编程技术网

创建mysql表时出错?

创建mysql表时出错?,mysql,sql,syntax,syntax-error,Mysql,Sql,Syntax,Syntax Error,我试图在mysql中创建一个数据库,我的代码的第一部分工作正常,但在以下方面出现语法错误: 创建表项目\u人员( empID INT不为空, projID INT不为空, 约束 我不明白哪里出错了。 这是我的密码: CREATE TABLE Employees ( empID INT NOT NULL AUTO_INCREMENT, empSurname VARCHAR(255) NOT NULL, empLastname VARCHAR(255) NOT NULL,

我试图在mysql中创建一个数据库,我的代码的第一部分工作正常,但在以下方面出现语法错误:

创建表项目\u人员( empID INT不为空, projID INT不为空, 约束

我不明白哪里出错了。 这是我的密码:

CREATE TABLE Employees (
    empID INT NOT NULL AUTO_INCREMENT,
    empSurname VARCHAR(255) NOT NULL,
    empLastname VARCHAR(255) NOT NULL,
    empJobtitle VARCHAR(255) NOT NULL,
    empLinemanager VARCHAR(255) NOT NULL,
    CONSTRAINT pk_employees PRIMARY KEY (empID)
) ENGINE=InnoDB;

CREATE TABLE Skills (
    sklID INT NOT NULL AUTO_INCREMENT,
    sklName VARCHAR(255) NOT NULL,
    CONSTRAINT pk_skills PRIMARY KEY (sklID)
) ENGINE = InnoDB;

CREATE TABLE Employees_Skills (
    empskID INT NOT NULL AUTO_INCREMENT,
    empskLevel INT NOT NULL,
    sklID INT NOT NULL,
    empID INT NOT NULL,
    CONSTRAINT fk_employees_skills FOREIGN KEY (sklID) REFERENCES Skills(sklID),
    CONSTRAINT fk_employees_skills_1 FOREIGN KEY (empID)  REFERENCES Employees(empID),
    CONSTRAINT pk_employees_skills PRIMARY KEY (empskID)
) ENGINE = InnoDB;   

CREATE TABLE Project (
    projID INT NOT NULL AUTO_INCREMENT,
    projName VARCHAR(255) NOT NULL,
    projDuration INT NOT NULL,
    projStartdate VARCHAR (255) NOT NULL,
    CONSTRAINT pk_project PRIMARY KEY (projID)
) ENGINE = InnoDB

CREATE TABLE Project_Staff (
    empID INT NOT NULL,
    projID INT NOT NULL,
    CONSTRAINT fk_project_staff FOREIGN KEY (empID) REFERENCES  Employees(empID),
    CONSTRAINT fk_project_staff FOREIGN KEY (projID) REFERENCES Project(projID)
) ENGINE = InnoDB

CREATE TABLE Skill_For_Project (
    sklreqDuration INT NOT NULL,
    projID INT NOT NULL,
    sklID INT NOT NULL,
    CONSTRAINT fk_skill_for_project FOREIGN KEY (sklID) REFERENCES  Skills(empID),
    CONSTRAINT fk_skill_for_project FOREIGN KEY (projID) REFERENCES Project (projID)
) ENGINE = InnoDB

在我看来,有两个问题

  • create project table

    创建表项目
    (projID INT非空自动增量,
    约束pk_项目
    主键(projID))引擎=InnoDB;
    • 您有重复的密钥名“fk_项目_人员”:

    • 重复的密钥名称“fk\U项目的技能\U”:

    • 在技能表中错误输入empID。您可能对技能项目表中的员工(empID)感兴趣

    • Create Table语句末尾有未命中分号

    这里是完整的工作代码

    CREATE TABLE Employees (
    empID INT NOT NULL AUTO_INCREMENT,
    empSurname VARCHAR(255) NOT NULL,
    empLastname VARCHAR(255) NOT NULL,
    empJobtitle VARCHAR(255) NOT NULL,
    empLinemanager VARCHAR(255) NOT NULL,
    CONSTRAINT pk_employees PRIMARY KEY (empID)
    ) ENGINE=InnoDB;
    
    CREATE TABLE Skills (
    sklID INT NOT NULL AUTO_INCREMENT,
    sklName VARCHAR(255) NOT NULL,
    CONSTRAINT pk_skills PRIMARY KEY (sklID)
    ) ENGINE = InnoDB;
    
    CREATE TABLE Employees_Skills (
    empskID INT NOT NULL AUTO_INCREMENT,
    empskLevel INT NOT NULL,
    sklID INT NOT NULL,
    empID INT NOT NULL,
    CONSTRAINT fk_employees_skills FOREIGN KEY (sklID) REFERENCES Skills(sklID),
    CONSTRAINT fk_employees_skills_1 FOREIGN KEY (empID)  REFERENCES Employees(empID),
    CONSTRAINT pk_employees_skills PRIMARY KEY (empskID)
    ) ENGINE = InnoDB;   
    
    CREATE TABLE Project (
    projID INT NOT NULL AUTO_INCREMENT,
    projName VARCHAR(255) NOT NULL,
    projDuration INT NOT NULL,
    projStartdate VARCHAR (255) NOT NULL,
    CONSTRAINT pk_project PRIMARY KEY (projID)
    ) ENGINE = InnoDB;
    
    CREATE TABLE Project_Staff (
    empID INT NOT NULL,
    projID INT NOT NULL,
    CONSTRAINT fk_project_staff FOREIGN KEY (empID) REFERENCES  Employees(empID),
    CONSTRAINT fk_project_staff2 FOREIGN KEY (projID) REFERENCES Project(projID)
    ) ENGINE = InnoDB;
    
    CREATE TABLE Skill_For_Project (
    sklreqDuration INT NOT NULL,
    projID INT NOT NULL,
    sklID INT NOT NULL,
    CONSTRAINT fk_skill_for_project FOREIGN KEY (sklID) REFERENCES  Employees(empID),
    CONSTRAINT fk_skill_for_project2 FOREIGN KEY (projID) REFERENCES Project(projID)
    ) ENGINE = InnoDB;
    

    您得到了什么错误确切的错误是什么?第9行是什么?