【问题标题】:Syntax error while using multiple rename RENAME expressions postgresql使用多个重命名重命名表达式 postgresql 时出现语法错误
【发布时间】:2018-12-13 19:53:44
【问题描述】:

我正在尝试编写一个同时重命名多个表列的查询。根据文档,语法是:

ALTER TABLE table_name
RENAME old_col_a AS new_col_a
, RENAME old_col_b AS new_col_b...;

但是,在这样做时,我会在第一个 RENAME 子句之后的逗号上得到一个语法错误:

ERROR:  syntax error at or near ","
LINE 3: , RENAME 
    ^
SQL state: 42601
Character: 1

查询适用于多个 DROP/ALTER/ADD 列和单个 RENAME。我一生都无法弄清楚为什么会发生此错误。

【问题讨论】:

标签: sql postgresql alter-table


【解决方案1】:

您需要使用多个ALTER 语句:

ALTER TABLE table_name
RENAME COLUMN old_col_a TO new_col_a;

ALTER TABLE table_name
RENAME COLUMN old_col_b TO new_col_b;

ALTER TABLE

除了 RENAME、SET SCHEMA、ATTACH PARTITION 和 DETACH PARTITION 之外,所有作用于单个表的 ALTER TABLE 形式都可以组合成一个包含多个更改的列表,以便一起应用。例如,可以在单个命令中添加多个列和/或更改多个列的类型。这对于大型表特别有用,因为只需要在表上进行一次传递。

【讨论】:

    猜你喜欢
    • 2013-12-05
    • 2021-11-04
    • 2015-10-28
    • 1970-01-01
    • 2019-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多