救命啊! 我不断收到错误消息。
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MGRDATE DATE, PRIMARY KEY (DNUM), FOREIGN KEY (MGRSSN) REFERENCES EMPL' at line 6
CREATE TABLE EMPLOYEE (
SSN INT NOT NULL,
FNAME VARCHAR(15) NOT NULL,
MINIT VARCHAR(1) NOT NULL,
LNAME VARCHAR(15) NOT NULL,
BDATE DATE,
ADDRESS VARCHAR(50),
SEX VARCHAR(1),
SALARY INT NOT NULL,
SUPERSSN INT NOT NULL,
DNO INT NOT NULL,
PRIMARY KEY (SSN)
);
CREATE TABLE DEPARTMENT (
DNUM INT NOT NULL,
DNAME VARCHAR(15) NOT NULL,
MGRSSN INT NOT NULL,
INDEX (MSGSSN)
MGRDATE DATE,
PRIMARY KEY (DNUM),
FOREIGN KEY (MGRSSN)
REFERENCES EMPLOYEE(SSN)
ON DELETE CASCADE,
);
CREATE TABLE WORKS_ON (
SSN INT NOT NULL,
INDEX (SSN)
PNO INT NOT NULL,
INDEX (PNO)
HOURS INT NOT NULL,
FOREIGN KEY (SSN)
REFERENCES EMPLOYEE(SSN)
ON DELETE CASCADE,
FOREIGN KEY (PNO)
REFERENCES PROJECT(PINT)
ON DELETE CASCADE,
);
CREATE TABLE DEPT_LOCATION (
DNUM INT NOT NULL,
DLOCATION VARCHAR(20) NOT NULL
);
CREATE TABLE DEPENDENT (
SSN INT NOT NULL,
INDEX (SSN)
DEPENDENT_NAME VARCHAR(10) NOT NULL,
SEX VARCHAR(1) NOT NULL,
DOB DATE,
RELATIONSHIP VARCHAR(10) NOT NULL,
FOREIGN KEY (SSN)
REFERENCES EMPLOYEE(SSN)
ON DELETE CASCADE,
);
CREATE TABLE PROJECT (
PNAME VARCHAR(15) NOT NULL,
PINT INT NOT NULL,
PLOCATION VARCHAR(20) NOT NULL,
INDEX (PLOCATION)
DNUM INT NOT NULL,
INDEX (DNUM)
PRIMARY KEY (PINT),
FOREIGN KEY (PLOCATION)
REFERENCES DEPT_LOCATION(DLOCATION)
ON DELETE CASCADE,
FOREIGN KEY (DNUM)
REFERENCES “DEPARTMENT” (DNUM)
ON DELETE CASCADE,
);
最佳答案
如果您使用,
地段,则必须删除查询中的逗号
。
您应该更改以下表格:
1.DEPARTMENT
2.WORKS_ON
3.DEPENDENT
4.PROJECT
您的查询:
ON DELETE CASCADE, -- -->remove the comma
);
更改为:
ON DELETE CASCADE
);
您应该在 department
表中犯下拼写错误
,如下所示:
您的查询:
MGRSSN INT NOT NULL,
INDEX (MSGSSN)
更改为:
MGRSSN INT NOT NULL,
INDEX (MGRSSN) ,
关于MySQL 数据库错误 #1064 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22953500/