1
我正在尝试更新一行MySQL中的数据,这行代码引发了此错误。MySQL Python更新行
for k in range(city_count):
cur.execute("UPDATE hqstock SET citylastprice = '%s' WHERE id = '%s'"%(CITYPRICE[k], tID[k]))
被返回的错误:
File "C:\Python27\lib\site-packages\MySQLdb\cursors.py", line 201, in execute
self.errorhandler(self, exc, value)
File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
InterfaceError: (0, '')
这是我的表结构。
+--------------------+------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+------------------+------+-----+---------+-------+
| id |int(11) unsigned | NO | PRI | NULL | |
| barcode | char(15) | YES | | NULL | |
| citycurstock | smallint(6) | YES | | NULL | |
| citylastprice | demical(4,2) | YES | | NULL | |
| city | varchar(60) | YES | | NULL | |
+--------------------+------------------+------+-----+---------+-------+
有人知道我的查询语句有什么问题吗?或者为什么不工作?
可能重复的[MySQLdb的interfaceError](http://stackoverflow.com/questions/5704590/mysqldb-interfaceerror)和[InterfaceError(0, '')](HTTP: //stackoverflow.com/q/6650940) –
注意:不要使用字符串插值;请使用SQL参数:'cur.execute(“UPDATE hqstock SET citylastprice =%s WHERE id =%s”,(CITYPRICE [k],tID [k]))';这留下引用数据库适配器(更安全,更方便)。 –