On Wednesday, May 23, 2018, tango ward <tangoward15(at)gmail(dot)com> wrote:
>
>
> 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))
>
So, WHERE name = name is ALWAYS true and so as long as there is at least
one record in my_table the exists returns true, and the not inverts it to
false and the main select returns zero rows. You have successfully
inserted a record that doesn't exist (i.e., you've inserted nothing just
like you observe).
David J.