2016-07-15 110 views
1

我想在同一個表中複製行記錄,但對某些列值進行了修改。我知道我可以通過使用以下腳本複製行記錄。在postgresql的同一表中複製行記錄

INSERT INTO table_name( 
column_name1, column_name2, column_name3 .... 
) 
SELECT column_name1, column_name2, column_name3 .... 
FROM table_name WHERE id=1; 

但它會重複整行。對於修改,我還需要添加更新腳本。

所以我的問題是,有沒有更簡單的方法來處理我的情況。 由於我工作的桌子有大約40列,所以我認爲這種方式是不可行的。

歡迎任何新意見。

在此先感謝。直接在SELECT列

+0

? –

+0

對於例如要在其中設置「重複記錄否...」的備註列 – Suniel

+0

您沒有提供足夠的信息。 '我想創建一個重複但不同'非常模糊請閱讀[**如何問問**](http://stackoverflow.com/help/how-to-ask) \t \t這裏是一個[** START **](http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/)瞭解如何改進的好地方您的問題質量並獲得更好的答案。 –

回答

3

變化值,該aditional的更新是不必要的,就像在下面的例子

INSERT INTO table_name( 
column_name1, column_name2, column_name3 .... 
) 
SELECT column_name1, 
     'New string value of column 2', 
     column_name3, 
     ...... 
     ...... 
     1234 as new_val_of_col_25, 
     column_name26, 
     ...... 
FROM table_name WHERE id=1; 
你想要的列來改變和你想使用的值
+0

謝謝。你給了我我需要的東西。 – Suniel

相關問題