2015-01-05 138 views
0

我剛剛注意到您可以在PostgreSQL中編寫這兩個關鍵字。有沒有區別,還是隻是一個「簡化」的語法。 據我所知,這兩個完全一樣。PostgreSQL中「DROP COLUMN」和「DROP」關鍵字之間的區別

ALTER TABLE table DROP my_column; 

VS

​​3210

編輯:我四處搜尋了這一點,但無法找到任何東西。包括文檔。

+2

你檢查了文檔嗎? – Jasen

+0

@Watercolours我認爲你不明白PostgreSQL文檔,請參閱我的回答詳情 –

+1

我確實閱讀過文檔,但錯過了可以省略的行。以及[]是可選的。我的錯。無論如何,將來在這裏將爲他人留下這個問題。 – Watercolours

回答

3

根據here,COLUMN是可選的,即語句是等同的。就個人而言,我會保持清晰

3

,語法具有相同的含義,它的你的願望兩種語法中進行選擇,爲下面的示例中的關鍵字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可選

+0

yes'[]'中的單詞是可選的,但其中一些可選單詞會改變處理請求的方式(例如:'IF EXISTS') – Jasen

相關問題