MySQLdb select

F. GEIGER f.geiger at vol.at
Sat Jul 31 09:08:12 EDT 2004


"John Fabiani" <jfabiani at yolo.com> schrieb im Newsbeitrag
news:lGIOc.4961$AY5.4762 at newssvr21.news.prodigy.com...
> Hi,
>  I'm a newbie and I'm attempting to learn howto create a select statement.
> When I use
> >>> string1='18 Tadlock Place'
> >>> cursor.execute("SELECT * FROM mytest where address = %s",string1)
> All works as expected.  But
> >>> numb=10
> >>> cursor.execute("SELECT * FROM mytest where clientID = %d",numb)

I'm used to do that this way:

cursor.execute("SELECT * FROM mytest where clientID = %d" % numb)

HTH
Franz GEIGER

> Traceback (innermost last):
>   File "<stdin>", line 1, in ?
>   File "/usr/lib64/python2.3/site-packages/MySQLdb/cursors.py", line 95,
in
> execute
>     return self._execute(query, args)
>   File "/usr/lib64/python2.3/site-packages/MySQLdb/cursors.py", line 110,
in
> _execute
>     self.errorhandler(self, TypeError, m)
>   File "/usr/lib64/python2.3/site-packages/MySQLdb/connections.py", line
33,
> in defaulterrorhandler
>     raise errorclass, errorvalue
> TypeError: int argument required
>
> ClientID was created using "clientID int not null auto_increment primary
> key"
>
>
> What is the correct way passing the numb var to the string?
> Thanks John





More information about the Python-list mailing list