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