| From: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
|---|---|
| To: | tango ward <tangoward15(at)gmail(dot)com> |
| Cc: | Adrian Klaver <adrian(dot)klaver(at)aklaver(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-24 01:09:53 |
| Message-ID: | CAKFQuwZ1AsufoP62r1cF6sQGg5hu1USqvjdeata-NXU9Rr=NKQ@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
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.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | tango ward | 2018-05-24 01:23:30 | Re: Insert data if it is not existing |
| Previous Message | tango ward | 2018-05-24 01:03:11 | Re: Insert data if it is not existing |