【问题标题】:Change column order in table of postgres更改 postgres 表中的列顺序
【发布时间】:2020-02-10 15:11:33
【问题描述】:

我正在尝试更改 postgressql 表中的列顺序。但我没有得到任何线索或答案。 我认为这个功能是在新版本中添加的。 我正在使用 postgres 11。 例

No column 
1     Id
2    Lastname
3    Firstname

现在我想更改第二个位置的名字。

【问题讨论】:

  • 添加更多细节
  • @Raghavendra 添加了
  • 我已经添加了我的答案..谢谢
  • 你为什么认为你需要那个。表中列的顺序完全没有意义

标签: postgresql


【解决方案1】:

为此,您必须删除并重新创建表或至少 lastname 列:

BEGIN;
ALTER TABLE atable RENAME lastname TO oldcol;
ALTER TABLE atable ADD lastname text NOT NULL;
UPDATE atable SET lastname = oldcol;
ALTER TABLE atable DROP oldcol;
COMMIT;

但是这个练习毫无意义,因为您总是可以确定在SELECT 子句中获取列的顺序。你没有使用SELECT *,是吗?由于其他原因,这也会有问题;它仅对临时查询有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-12
    • 2011-07-24
    • 1970-01-01
    • 1970-01-01
    • 2017-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多