簡體   English   中英

在一個查詢中更改 PostgreSQL 中的多列名稱和數據類型

[英]Alter Multiple column Name and Data Type in PostgreSQL in one query

描述:我想更改列名及其數據類型。 我有多個列,並希望在一個查詢中更改所有列及其數據類型。

我試過的

  1. 更改列類型然后重命名它。
ALTER TABLE customers  ALTER COLUMN phone TYPE numeric 
RENAME COLUMN phone TO contact_phone

ALTER TABLE customers  ALTER COLUMN phone TYPE numeric,
RENAME COLUMN phone TO contact_phone
  1. 更改多個列類型然后重命名它。
ALTER TABLE customers  
  ALTER COLUMN phone TYPE numeric, 
  ALTER COLUMN address TYPE text, 
  RENAME COLUMN phone TO contact_phone,
  RENAME COLUMN address TO contact_address
  1. 嘗試更改所有列數據類型然后重命名
ALTER TABLE customers  
ALTER COLUMN phone TYPE numeric,ALTER COLUMN address TYPE text

ALTER TABLE customers 
 RENAME COLUMN phone TO contact_phone,RENAME COLUMN address TO contact_address

問題:每次我在SQL 狀態RENAME子句中遇到錯誤時:42601

誰能告訴我這個查詢有什么問題?

雖然您可以在一個ALTER TABLE語句中ALTER TABLE多個列的數據類型,但一次只能重命名一個列。 因此,您將不得不使用多個ALTER TABLE語句。

我建議在單個事務中運行所有語句,這樣您只需獲取一次ACCESS EXCLUSIVE鎖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM