Invalid Literal from MySQLdb Query

Wesley Kincaid wesley.kincaid at gmail.com
Mon Sep 27 19:42:04 EDT 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
fields:

    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/cursors.py",
line 95, in execute return self._execute(query, args)
  File "/home/oneofmanyme/local/lib/python2.3/site-packages/MySQLdb/cursors.py",
line 114,    in _execute self.errorhandler(self, exc, value)
  File "/home/oneofmanyme/local/lib/python2.3/site-packages/MySQLdb/connections.py",
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")
1L
>>> print cursor.fetchone()
(1L, 'oneofmanyme')


Much thanks in advance,
Wesley



More information about the Python-list mailing list