2011-02-02 244 views
22

我試圖創建一個從父表臨時表:PostgreSQL的 - CREATE TABLE語法錯誤使用LIKE -

這是我的pgAdmin III(或通過JDBC在Java中)執行代碼:

CREATE TEMP TABLE table1_tmp LIKE table1 INCLUDING DEFAULTS; 

我收到的錯誤是:

[WARNING ] CREATE TEMP TABLE table1_tmp LIKE table1 INCLUDING DEFAULTS 
     ERROR: syntax error at or near «LIKE» 
     LÍNEA 1: CREATE TEMP TABLE table1_tmp LIKE table1 INCLUDING DEFAULTS 
              ^

閱讀的PostgreSQL 8.4文檔,使用此創建表,它很容易,但我不明白的地方是語法問題。

回答

43

你需要把像中括號像

CREATE TEMP TABLE table1_tmp (LIKE table1 INCLUDING DEFAULTS) ; 

這是從docs不是很明顯,如果你不指望括號1:1

21

我不是Postgresql的用戶,但manual說有()圍繞類似的句子。

CREATE TEMP TABLE table1_tmp (LIKE table1 INCLUDING DEFAULTS);