繁体   English   中英

为什么在外键约束下出现MySQL错误1064?

[英]Why am I getting MySQL error 1064 on foreign key constraint?

CREATE TABLE EMP_1 (
    EMP_NUM varchar(3),
    EMP_LNAME varchar(15),
    EMP_FNAME varchar(15),
    EMP_INITIAL varchar(1),
    EMP_HIREDATE datetime,
    JOB_CODE varchar(3), FOREIGN KEY (JOB_CODE) REFERENCES JOB
);

这是创建表的代码,该表是另一个表的子集。 这是练习的一部分。

#1064-您的SQL语法有误; 检查与您的MySQL服务器版本相对应的手册,以在第8行的'REFERENCES JOB)'附近使用正确的语法

是查询运行时在PHPMyAdmin中输出的错误消息。

第8行的语法在哪里? 检查w3学校和教科书后,我看不到问题。

您缺少JOB表上的引用外键列

所以应该像

FOREIGN KEY (JOB_CODE) REFERENCES JOB(job_code_col)

因此,如果您的JOB表中还有一个名为JOB_CODE的列,则DDL如下所示:

CREATE TABLE EMP_1 (
    EMP_NUM varchar(3),
    EMP_LNAME varchar(15),
    EMP_FNAME varchar(15),
    EMP_INITIAL varchar(1),
    EMP_HIREDATE datetime,
    JOB_CODE varchar(3), FOREIGN KEY (JOB_CODE) REFERENCES JOB (JOB_CODE)
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM