From: tango ward [mailto:tangowar...@gmail.com] Sent: Thursday, May 24, 2018 8:16 PM To: Adrian Klaver <adrian.kla...@aklaver.com> Cc: David G. Johnston <david.g.johns...@gmail.com>; pgsql-generallists.postgresql.org <pgsql-general@lists.postgresql.org> Subject: Re: Insert data if it is not existing
On Thu, May 24, 2018 at 9:38 PM, Adrian Klaver <adrian.kla...@aklaver.com<mailto:adrian.kla...@aklaver.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.kla...@aklaver.com<mailto:adrian.kla...@aklaver.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')) How about: '''INSERT INTO my_table(name, age) VALUES( %s, %s) WHERE NOT EXISTS(SELECT name FROM my_table WHERE name=%s)''', ('Scott', 23, 'Scott')) Regards, Igor Neyman