On Wednesday, May 23, 2018, Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> wrote:
>
>> '''INSERT INTO my_table(name, age)
>> SELECT %s, %s
>> WHERE NOT EXISTS(SELECT name FROM my_table WHERE name=%s)''', ('Scott',
>> 23)
>>
>>
> I doubt that worked, you have three parameter markers(%s) and two
> parameter values. Not only that two of the markers are for identifiers.
>
>
The count is indeed off but the two markers after the main select are
literals, not identifiers. As is the one being compared to name.
SELECT 'Scott', 23;
is a valid query.
David J.