Newbie help (TypeError: int argument required)

bukzor workitharder at gmail.com
Mon Jun 9 01:46:25 EDT 2008


On Jun 8, 11:43 am, Iain Adams <aca04... at shef.ac.uk> wrote:
> Hi,
>
> I am new to python. I have been having trouble using the MysqlDB. I
> get an error pointing from the line
>
> cursor.execute("UPDATE article SET title = %s, text = %s WHERE id =
> %u", (self.title, self.text, self.id))
>
> Here is the error:
>
>  line 56, in save
>     cursor.execute("UPDATE article SET title = %s, text = %s WHERE id
> = %u", (self.title, self.text, self.id))
>   File "/var/lib/python-support/python2.5/MySQLdb/cursors.py", line
> 151, in execute
>     query = query % db.literal(args)
> TypeError: int argument required
>
> However when I print out type(self.id) I get <type 'int'>.
>
> So surely I have provided an int argument.
>
> Any ideas anyone??

Change your u to an s and you'll be fine. If you want a specific
format on the integer, format it first and pass in the string.



More information about the Python-list mailing list