首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MySQL 5.7引用错误

MySQL 5.7引用错误
EN

Stack Overflow用户
提问于 2018-07-16 05:35:07
回答 1查看 35关注 0票数 0

我有两张桌子departmentemployee。我想在employee中使用MySQL引用department。以下是我的代码和错误消息:

代码语言:javascript
复制
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)

代码语言:javascript
复制
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))‘

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-16 05:39:21

您需要在主键和外键定义之间使用逗号(,):

代码语言:javascript
复制
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,...)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51352418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档