How to use "WHERE NOT EXISTS in INSERT STATEMENT"

Поиск
Список
Период
Сортировка
От Serge Christian Ibala
Тема How to use "WHERE NOT EXISTS in INSERT STATEMENT"
Дата
Msg-id CABsq6iyHGcH0EN9t+V5cvOyZh0PMHpdLVE6P_tUbgFaRjyZqGQ@mail.gmail.com
обсуждение исходный текст
Ответы Re: How to use "WHERE NOT EXISTS in INSERT STATEMENT"  (Jonathan Rogers <jrogers@socialserve.com>)
Re: How to use "WHERE NOT EXISTS in INSERT STATEMENT"  (Daniele Varrazzo <daniele.varrazzo@gmail.com>)
Список psycopg
Hello All,

I want to insert some data in my data base (postgrsql) using Python but i want to check first that the row does not already exist.
The normal command is:

cur.execute("INSERT INTO COMPANYLIST (ID, NAME, AGE, ADDRESS, SALARY) \      
VALUES (1, 'Paul', 32, 'California', 20000.00)");

I get the error below when running the code twice.
===================================================
psycopg2.IntegrityError: duplicate key value violates unique constraint "companylist_pkey"
DETAIL:  Key (id)=(1) already exists.
====================================================

I have tried to replace it by:

cur.execute("INSERT INTO COMPANYLIST (ID, NAME, AGE, ADDRESS, SALARY) \
WHERE NOT EXISTS (SELECT 1 FROM table WHERE id='1')\
VALUES (1, 'Paul', 32, 'California', 20000.00)");

It does not work. Can anybody please help?
Kind Regards,
Christian

В списке psycopg по дате отправления:

Предыдущее
От: Alan Evans
Дата:
Сообщение: PQntuples for older version (2.2.1) of psycopg2 with ctypes
Следующее
От: Jonathan Rogers
Дата:
Сообщение: Re: How to use "WHERE NOT EXISTS in INSERT STATEMENT"