【发布时间】:2014-04-09 05:26:20
【问题描述】:
帮助! 我不断收到错误消息。
1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法使用 'MGRDATE 日期、主键 (DNUM)、外键 (MGRSSN) 附近 参考 EMPL' 在第 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,
);
【问题讨论】: