Invalid Literal from MySQLdb Query

Wesley Kincaid wesley.kincaid at
Tue Sep 28 01:42:04 CEST 2004

I'm attempting to run a simple query through MySQLdb's
cursor.execute().  However, when the request includes a timestamp
field, I'm getting "ValueError: invalid literal for int(): 9-."

Could someone please explain what I'm doing wrong?

The table is served off of MySQL 4.0.20 and contains the following

    doc_id  ...  int(64)
    doc_author  ...  varchar(255)
    doc_created  ...  timestamp(14)
    doc_updated  ...  timestamp(14)
    doc_data  ...  longtext

Here's an example of the code I'm attempting:

Python 2.3.4 (#1, Sep 24 2004, 12:07:36) 
[GCC 2.95.4 20011002 (Debian prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>> db = MySQLdb.connect(host="HOSTNAME", user="USER",
passwd="PASSWD", db="DB")
>>> cursor = db.cursor()
>>> cursor.execute("select * from documents")
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/home/oneofmanyme/local/lib/python2.3/site-packages/MySQLdb/",
line 95, in execute return self._execute(query, args)
  File "/home/oneofmanyme/local/lib/python2.3/site-packages/MySQLdb/",
line 114,    in _execute self.errorhandler(self, exc, value)
  File "/home/oneofmanyme/local/lib/python2.3/site-packages/MySQLdb/",
line 33, in defaulterrorhandler raise errorclass, errorvalue
ValueError: invalid literal for int(): 9-

If I don't include timestamps (such as doc_created) in the query,
things work just fine:

>>> cursor.execute("select doc_id, doc_author from documents")
>>> print cursor.fetchone()
(1L, 'oneofmanyme')

Much thanks in advance,

More information about the Python-list mailing list