【问题标题】:mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQLmysql_exceptions.ProgrammingError: (1064, "您的 SQL 语法有错误;请查看与您的 MySQL 对应的手册
【发布时间】:2016-01-29 11:45:49
【问题描述】:

谁能告诉我为什么我会收到这个错误以及我应该改变什么!

mysql_exceptions.ProgrammingError: (1064, "你有一个错误 SQL 语法;检查与您的 MySQL 服务器相对应的手册 在 'ORDER int 附近使用正确语法的版本,\n
FOREIGN KEY (ID) REFERENCES 论文(ID),\n PRIMARY K' at line 4")

这是我的声明:

""" CREATE TABLE Authors (
    ID        int NOT NULL,
    AUTHOR   varchar(255),
    ORDER     int,
    FOREIGN KEY (ID) REFERENCES papers(ID),
    PRIMARY KEY (ID, ORDER)
    ) """

谢谢我是 sql 新手,根本找不到我哪里出错了!

【问题讨论】:

    标签: mysql


    【解决方案1】:

    “ORDER”为保留字,不能作为字段名...

    Select * from Author order by order;
    

    https://dev.mysql.com/doc/refman/5.5/en/keywords.html

    如果您绝对想使用 order 作为字段名称,则必须引用它,但最好避免使用它,因为您还需要在任何引用它的 sql 语句中引用它。

    【讨论】:

    • 很高兴我能帮上忙。请将答案标记为已接受(这也会给你一些额外的分数)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-29
    • 1970-01-01
    • 1970-01-01
    • 2014-03-14
    • 2013-03-05
    • 2017-06-30
    • 1970-01-01
    相关资源
    最近更新 更多