[英]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.