【问题标题】:Postgres: Table is shown using \d but shows syntax error while dropping the tablePostgres:使用 \d 显示表,但在删除表时显示语法错误
【发布时间】:2016-01-14 04:44:57
【问题描述】:

当我这样做时我遇到了奇怪的问题

`temp=# \d
                      List of relations
Schema |             Name              |   Type   |      Owner      
--------+-------------------------------+----------+-----------------
public | ORDER                         | table    | admin
public | ORDER_id_seq                  | sequence | admin `  

如上表所示。表名 ORDER 即将到来,但是当我尝试删除它时,我收到语法错误为
temp=# drop table ORDER; ERROR: syntax error at or near "ORDER" LINE 1: drop table ORDER;

有什么问题以及删除ORDER 表的其他方法是什么?

【问题讨论】:

    标签: database postgresql relational-database


    【解决方案1】:

    ORDER 是一个保留关键字,如下所述: http://www.postgresql.org/docs/current/static/sql-keywords-appendix.html

    所以作为对象名使用时需要用双引号括起来。此外,由于它是大写的,即使它不是关键字,也需要这些双引号。

    只要做:

    drop table "ORDER";
    

    【讨论】:

      【解决方案2】:

      由于ORDER也是一个SQL“保留字”,所以你必须把表名放在双引号中。 (无论如何你都必须这样做,因为它是大写的)

      【讨论】:

        猜你喜欢
        • 2014-01-29
        • 1970-01-01
        • 2011-06-23
        • 2021-04-30
        • 2012-02-02
        • 1970-01-01
        • 2014-04-12
        • 1970-01-01
        • 2013-01-06
        相关资源
        最近更新 更多