【问题标题】:mySQL Syntax Error on Constraint约束上的 mySQL 语法错误
【发布时间】:2017-09-02 23:10:36
【问题描述】:
CREATE TABLE MARINA_SLIP
(
SLIP_ID VARCHAR(4),
MARINA_NUM VARCHAR(4),
SLIP_NUM VARCHAR(4),
LENGTH INT,
RENTAL_FEE DECIMAL(8,2),
BOAT_NAME VARCHAR(50),
BOAT_TYPE VARCHAR(50),
OWNER_NUM VARCHAR(4),
CONSTRAINT MARINA_SLIP_SLIP_ID_PK PRIMARY KEY (SLIP_ID),
CONSTRAINT MARINA_SLIP_MARINA_NUM_FK FOREIGN KEY (MARINA_NUM),
CONSTRAINT MARINA_SLIP_OWNER_NUM_FK FOREIGN KEY (OWNER_NUM) REFERENCES OWNER (OWNER_NUM)
);

错误状态:

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 ' 附近使用的正确语法 CONSTRAINT MARINA_SLIP_OWNER_NUM_FK FOREIGN KEY (OWNER_NUM) REFERENCES OWNER (O' at line 12

有谁知道为什么这不起作用?

编辑:这是为我想出来的,不包括外键引用的小错误。

【问题讨论】:

  • 第一个外键没有引用任何列...
  • @JaskaranbirSingh 感谢您指出这一点。我在一个开始的 SQL 类中,基本上我复制了约束,并且外键引用被向下推了一行。我花了 30 分钟试图弄清楚的明显错误。谢谢!

标签: mysql syntax


【解决方案1】:

REFERENCES 添加到CONSTRAINT MARINA_SLIP_MARINA_NUM_FK FOREIGN KEY (MARINA_NUM) 例如 CONSTRAINT MARINA_SLIP_MARINA_NUM_FK FOREIGN KEY (MARINA_NUM) REFERENCES OWNER (MARINA_NUM)

【讨论】:

    猜你喜欢
    • 2018-01-20
    • 1970-01-01
    • 2016-11-29
    • 1970-01-01
    • 2018-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多