2016-02-05 49 views
0

我正在Postgres 9.4工作。我有一個表,看起來像這樣:Postgres:創建現有行的重複項,更改一個值?

 Column  │   Type   │        Modifiers 
─────────────────┼──────────────────────┼─────────────────────── 
id    │ integer    │ not null default 
total_list_size │ integer    │ not null 
date   │ date     │ not null 
pct_id   │ character varying(3) │ 

我想去的地方date='2015-09-01'採取一切的價值觀,並與日期2015-10-01創建相同的新條目。

我該如何做到最好?

我可以得到要用SELECT * from mytable WHERE date='2015-09-01'複製的值的列表,但我不知道該做什麼。

+1

是'id'欄中的序列? – klin

回答

1

如果列idserial然後

INSERT INTO mytable (total_list_size, date, pct_id) 
SELECT total_list_size, '2015-10-01', pct_id 
FROM mytable 
WHERE date = '2015-09-01'; 

否則,如果你想ids被複制:

INSERT INTO mytable (id, total_list_size, date, pct_id) 
SELECT id, total_list_size, '2015-10-01', pct_id 
FROM mytable 
WHERE date = '2015-09-01'; 
+0

這工作很好,謝謝。 – Richard

相關問題