[DB-SIG] trouble with list formatting

Carsten Haese carsten at uniqsys.com
Tue Jun 5 19:40:18 CEST 2007


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? As Marc-Andre pointed out, parameter binding is only for
scalar values.

-- 
Carsten Haese
http://informixdb.sourceforge.net




More information about the DB-SIG mailing list