我剛剛注意到您可以在PostgreSQL中編寫這兩個關鍵字。有沒有區別,還是隻是一個「簡化」的語法。 據我所知,這兩個完全一樣。PostgreSQL中「DROP COLUMN」和「DROP」關鍵字之間的區別
ALTER TABLE table DROP my_column;
VS
3210編輯:我四處搜尋了這一點,但無法找到任何東西。包括文檔。
我剛剛注意到您可以在PostgreSQL中編寫這兩個關鍵字。有沒有區別,還是隻是一個「簡化」的語法。 據我所知,這兩個完全一樣。PostgreSQL中「DROP COLUMN」和「DROP」關鍵字之間的區別
ALTER TABLE table DROP my_column;
VS
3210編輯:我四處搜尋了這一點,但無法找到任何東西。包括文檔。
根據here,COLUMN
是可選的,即語句是等同的。就個人而言,我會保持清晰
如documentation中所述,它可以省略。
關鍵詞COLUMN是噪音,可以省略。
,語法具有相同的含義,它的你的願望兩種語法中進行選擇,爲下面的示例中的關鍵字COLUMN可以用於更清晰。
ALTER TABLE table DROP COLUMN col1,
DROP COLUMN col2,
DROP COLUMN col3,
....
DROP COLUMN col_n;
文件本身描述了關鍵字COLUMN是可選的,每文檔
ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ]
action [, ... ]
ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ]
RENAME [ COLUMN ] column_name TO new_column_name
ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ]
RENAME CONSTRAINT constraint_name TO new_constraint_name
ALTER TABLE [ IF EXISTS ] name
RENAME TO new_name
ALTER TABLE [ IF EXISTS ] name
SET SCHEMA new_schema
ALTER TABLE ALL IN TABLESPACE name [ OWNED BY role_name [, ... ] ]
SET TABLESPACE new_tablespace [ NOWAIT ]
where action is one of:
ADD [ COLUMN ] column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ]
DROP [ COLUMN ] [ IF EXISTS ] column_name [ RESTRICT | CASCADE ]
FYI因爲 如,內部[]
寫入的關鍵字指示可選
離。 DROP [ COLUMN ]
這裏COLUMN是可選
yes'[]'中的單詞是可選的,但其中一些可選單詞會改變處理請求的方式(例如:'IF EXISTS') – Jasen
你檢查了文檔嗎? – Jasen
@Watercolours我認爲你不明白PostgreSQL文檔,請參閱我的回答詳情 –
我確實閱讀過文檔,但錯過了可以省略的行。以及[]是可選的。我的錯。無論如何,將來在這裏將爲他人留下這個問題。 – Watercolours