Re: Insert data if it is not existing

From: tango ward <tangoward15(at)gmail(dot)com>
To: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
Cc: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: Insert data if it is not existing
Date: 2018-05-25 00:15:45
Message-ID: CAA6wQLKgqo9fvyfnsPNL3gmO=1JrN65d6LCcDaH61AreCysptg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Thu, May 24, 2018 at 9:38 PM, Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
wrote:

> On 05/23/2018 06:03 PM, tango ward wrote:
>
>>
>>
> Updated my code to this:
>>
>> curr.pgsql.execute('''
>> INSERT INTO my_table(name, age)
>> SELECT %s, %s
>> WHERE NOT EXISTS(SELECT name FROM my_table WHERE name= name)
>> ''', ('Scott', 23))
>>
>> If I remove SELECT statement, I will get an error message: error :
>> psycopg2.ProgrammingError: syntax error at or near "WHERE"
>> LINE 12: WHERE NOT EXISTS
>>
>> Trying to coordinate with Lead Dev about adding Index On The Fly
>>
>
> I tried to figure how to make this work and could not, so I led you down a
> false path.
>
>
>>
>>
>>
>
> --
> Adrian Klaver
> adrian(dot)klaver(at)aklaver(dot)com
>

What I tried is

'''INSERT INTO my_table(name, age)
SELECT %s, %s,
WHERE NOT EXISTS(SELECT name FROM my_table WHERE name=%s)''', ('Scott', 23,
'Scott'))

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Michael Paquier 2018-05-25 01:15:17 Re: Streaming Replication between PostGreSQL 9.2.2 on Red Hat and PostGreSQL 9.2.24 on Debian
Previous Message Andrew Bartley 2018-05-24 21:42:06 Re: Performance opportunities for write-only audit tables?