簡體   English   中英

PostgreSQL-INSERT INTO語句

[英]PostgreSQL - INSERT INTO statement

我想做的是從某個表中選擇各種行,然后將它們重新插入到同一表中。 我的問題是,我一直遇到整個“重復PK”錯誤-在PostgreSQL中執行INSERT INTO語句時,是否可以跳過PK字段?

例如:

INSERT INTO reviews SELECT * FROM reviews WHERE rev_id=14;

前面的SQL中的rev_id是PK密鑰,我以某種方式需要跳過它。 (要澄清:我在SELECT語句中使用*,因為表列的數量可以動態增加)。

那么最后,有什么方法可以跳過PK字段嗎?

提前致謝。

您可以僅插入所需的值,以便您的PK會自動增加

insert into reviews (col1, col2, col3) select col1, col2, col3 from reviews where rev_id=14

請不要檢索/插入id列

insert into reviews (col0, col1, ...) select col0, col1, ... from reviews where rev_id=14;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM