2014-06-16 51 views
0

我必須使用相同列的表格。在這兩種情況下,第一列都稱爲id和SERIAL類型。 我想將第二個的內容複製到第一個表中。我想複製除id之外的所有內容。如果我這樣做:postgres將表格複製到表格 - 如何處理序列?

INSERT INTO first 
SELECT * 
FROM second; 

它會抱怨,因爲它會重複的ID。 如果我這樣做:

INSERT INTO first 
SELECT 1col, 2col, 3col .... (every column except the id column, which I dont want to be copied) 
FROM second; 

它會抱怨,因爲它試圖插入「1col」到id列的值。

ERROR: column "id" is of type bigint but expression is of type date

所以底線是我想複製一切,除了SERIAL值,這需要由接收表計算。任何提示?

回答

2

你已經走了一半。

INSERT INTO first (1col, 2col, 3col ....) 
SELECT 1col, 2col, 3col .... 
FROM second 

是的,你必須重複所有的列。不,沒有辦法說「除id之外的所有人」。

+0

thx快速回答 –