How to insert record only if primary key does not exist - Mailing list pgsql-general

From Andrus
Subject How to insert record only if primary key does not exist
Date
Msg-id 245B331DA82D498EAE7B90CFE5F469FE@dell2
Whole thread Raw
Responses Re: How to insert record only if primary key does not exist
Re: How to insert record only if primary key does not exist
List pgsql-general
Table is defined as
 
CREATE TABLE firma1.klient (
  kood character(12) NOT NULL DEFAULT nextval('firma1.klient_kood_seq'::regclass),
....
);
 
How to insert record to this table only if primary key does not exist ?
I tried code below but got strange error as shown in log file.
Why this error occurs ?
 
Andrus.
 
2012-06-30 15:51:04 EEST ERROR:  duplicate key value violates unique constraint "klient_pkey"
2012-06-30 15:51:04 EEST DETAIL:  Key (kood)=(20037       ) already exists.
2012-06-30 15:51:04 EEST STATEMENT:  insert into klient (
    kood,
    nimi,
    tanav,
    piirkond,
    postiindek
    )
    select ((E'20037')), ((E'Statoil Fuel & Retail')), ((E'')), ((E'10148 nnn')),((E''))
    from klient
    where not exists (select 1 from klient where kood =((E'20037')))

pgsql-general by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: how to return results from code block
Next
From: Adrian Klaver
Date:
Subject: Re: how to return results from code block