Python 执行问题,MySQLdb

Python 执行问题,MySQLdb,python,sql,mysql,database,api,Python,Sql,Mysql,Database,Api,我在使用MySQLdb时遇到以下问题: STMT="""INSERT INTO test_table VALUES (%s, %s, %s, %s, %s)""" rows=[('Wed Apr 14 14:00:00 2010', 23L, -2.3, 4.41, 0.83923)] conn.cursor().executemay(STMT, rows) 结果: Traceback (most recent call last): File "run.py", line 122, i

我在使用MySQLdb时遇到以下问题:

STMT="""INSERT INTO test_table VALUES (%s, %s, %s, %s, %s)"""
rows=[('Wed Apr 14 14:00:00 2010', 23L, -2.3, 4.41, 0.83923)]

conn.cursor().executemay(STMT, rows)
结果:

Traceback (most recent call last):
  File "run.py", line 122, in <module>
  File "C:\Python25\lib\site-packages\mysql_python-1.2.2.0002-py2.5-win32.egg\MySQLdb\cursors.py", line 276, in _do_query
    db.query(q)
_mysql_exceptions.OperationalError: (1136, "Column count doesn't match value count at row 1")
回溯(最近一次呼叫最后一次):
文件“run.py”,第122行,在
文件“C:\Python25\lib\site packages\mysql\u python-1.2.2.0002-py2.5-win32.egg\MySQLdb\cursors.py”,第276行,在_do\u查询中
数据库查询(q)
_mysql_exceptions.OperationalError:(1136,“列计数与第1行的值计数不匹配”)

有什么提示吗?

测试表中总共有多少列?从错误判断,可能不是5。尝试运行
SHOW CREATE TABLE test\u TABLE
查看如何定义该表

在插入新列时,最好显式列出列名,以防添加新列。请尝试以下方法:

INSERT INTO test_table (col1, col2, col3, col4, col5) VALUES (%s, %s, %s, %s, %s)

您应该将col1、col2等更改为实际列名。

测试表中总共有多少列?从错误判断,可能不是5。尝试运行
SHOW CREATE TABLE test\u TABLE
查看如何定义该表

在插入新列时,最好显式列出列名,以防添加新列。请尝试以下方法:

INSERT INTO test_table (col1, col2, col3, col4, col5) VALUES (%s, %s, %s, %s, %s)

您应该将col1、col2等更改为真实的列名。

尝试显式写入INSERT中的所有列:

STMT = 'INSERT INTO test_table (col1, col2, col3, col4, col5) VALUES (%s, %s, %s, %s, %s)'

尝试显式写入INSERT中的所有列:

STMT = 'INSERT INTO test_table (col1, col2, col3, col4, col5) VALUES (%s, %s, %s, %s, %s)'

+1几乎和我写的一模一样,即使是假的列名也是一样的!成功了。我有一个未在语句中设置的自动增量id。愚蠢的但是谢谢你的快速回答。+1几乎和我写的一模一样,即使是假的列名也是一样的!成功了。我有一个未在语句中设置的自动增量id。愚蠢的但是谢谢你的快速回答。