On Wed, Jun 1, 2011 at 9:27 AM, salah jubeh <s_jubeh@xxxxxxxxx> wrote: > I have the following SQL statements > > BEGIN; > -- account_id is a sequence > INSERT INTO account (name) VALUES ('test customer'||random()::text); > -- account_id is a foreign key > INSERT INTO account_detail (account_id,......) VALUES ((SELECT * from > currval('account_acccount_id_seq')), ........); > COMMIT; > > ERROR: insert or update on table "account_detail" violates foreign key > constraint ... > > > > I have executed the above without a transaction but in the same session, and > the issue was that the current value of the account points to the curval + 1 > > I have solved the above by subtracting 1 in the second insert statement. Why > I am having this problem, I have used current value many time and this is > the first time I have this behavior. works for me -- are you sure you don't have a trigger or something else going on behind the scenes? merlin -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general