Carsten Haese wrote at 2007-6-5 13:40 -0400:
>On Tue, 2007-06-05 at 19:21 +0200, Dieter Maurer wrote:
>> Roger Doger wrote at 2007-6-4 09:46 -0500:
>> >The following use of the API with MySQL works fine
>> >
>> >> items = [1, 2]
>> >> execute('SELECT * from table1 WHERE field1 IN %s', (items,))
>> >resultant query string: SELECT * from table1 WHERE field1 IN ('1', '2')
>> >
>> >By contrast, the following yields the message "error in your SQL syntax"
>> >
>> >> items = [1]
>> >> execute('SELECT * from table1 WHERE field1 IN %s', (items,))
>> >resulting query string: SELECT * from table1 WHERE field1 IN ('1',)
>> 
>> A bug in your Python-database bridge. It should handle sequences correctly.
>
>Says who?

Me.

>As Marc-Andre pointed out, parameter binding is only for
>scalar values.

Then it must raise an exception but not behave inconsistently (such
as adding a ',' for one element lists but not adding a comma for lists
with more than 1 element).



-- 
Dieter
_______________________________________________
DB-SIG maillist  -  DB-SIG@python.org
http://mail.python.org/mailman/listinfo/db-sig

Reply via email to