Duplicating a table row while honouring key constraints - Mailing list pgsql-general

From Gordon
Subject Duplicating a table row while honouring key constraints
Date
Msg-id 1194869136.999146.322950@19g2000hsx.googlegroups.com
Whole thread Raw
Responses Re: Duplicating a table row while honouring key constraints  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
List pgsql-general
I'm developing a web application in PHP and Postgres that will
basically serve as a CMS.  I want to implement a feature to allow
users to make copies of documents or folders, so this will require the
appropriate rows to be duplicated.

If possible I'd like to do this with SQL queries and avoid SELECTing
the row, munging it in PHP and INSERTING it back.  I suspect that this
is probably the way I'll have to go, but if it could be done entirely
in SQL that would be nice.

At first I thought INSERT INTO table_name SELECT * from table_name
where primary_key = unique_value would do it, but that would obviously
violate the primary key uniqueness constraint.  I'm wondering if
there's a way to do this where I only grab the data to be copied and
let the database work out the new primary key itself.


pgsql-general by date:

Previous
From: "Vyacheslav Kalinin"
Date:
Subject: Re: strange infinite loop in plpgsql
Next
From: jason
Date:
Subject: PQexec(), what should I do for the "NULL in command" problem?