我有两张桌子department
和employee
。我想在employee
中使用MySQL引用department
。以下是我的代码和错误消息:
mysql> CREATE TABLE DEPARTMENT (DEPTNO int (4) NOT NULL,
-> DNAME CHAR (15), DFLOOR int(1),
-> PRIMARY KEY (DEPTNO) );
Query OK, 0 rows affected (0.10 sec)
和
mysql> CREATE TABLE EMPLOYEE (EMPNO int (4) NOT NULL,
-> ENAME CHAR (10),
-> MGR CHAR (9),
-> DEPTNO int (4) NOT NULL,
-> SAL float(7,2),
-> JOB_STATUS float(7,2),
-> PRIMARY KEY (EMPNO)
-> FOREIGN KEY (DEPTNO) REFERENCES department (DEPTNO));
下面是错误消息:
错误1064 (42000):您的SQL语法中有一个错误;请查看与您的MySQL服务器版本相对应的手册,以获得正确的语法,以便在第8行
中使用'FOREIGN KEY (DEPTNO) REFERENCES (DEPTNO))‘
发布于 2018-07-16 05:39:21
您需要在主键和外键定义之间使用逗号(,
):
CREATE TABLE EMPLOYEE (
EMPNO INT(4) NOT NULL,
ENAME CHAR(10),
MGR CHAR(9),
DEPTNO INT(4) NOT NULL,
SAL FLOAT(7, 2),
JOB_STATUS FLOAT(7, 2),
PRIMARY KEY (EMPNO), -- here
FOREIGN KEY (DEPTNO) REFERENCES department (DEPTNO)
);
根据CREATE TABLE
语法的documentation,定义(如列、主键、外键)必须用,
分隔
CREATE TEMPORARY TABLE IF NOT EXISTS tbl_name (create_definition,...)
https://stackoverflow.com/questions/51352418
复制相似问题