0

我想使用以下查询更新表。我在以下方面遇到多个错误。编写以下查询的正确语法是什么

 cursor.execute("""UPDATE `%s` SET `content`=%s WHERE link=%s""", (feed,cnews,news_url))

运行上述内容时出现的错误是

Traceback (most recent call last):
  File "digger_1.py", line 34, in <module>
    cursor.execute("""UPDATE `%s` SET `content`=%s WHERE link=%s""", (feed,cnews,news_url))
  File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute
    self.errorhandler(self, exc, value)
  File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
    raise errorclass, errorvalue
_mysql_exceptions.ProgrammingError: (1146, "Table 'newstracker.'NDTV'' doesn't exist")

我选择的错误是表 newstracker.NDTV 不存在,这是不正确的,因为它确实存在,我相信错误是语法错误的其他东西。

4

1 回答 1

2

您不能使用参数化查询指定元数据,例如数据库、表或字段名称。您必须使用普通字符串格式替换它们,然后使用结果字符串作为参数化查询。

...("""UPDATE `%s` SET `content`=%%s WHERE link=%%s""" % (feed,), ...)
于 2013-10-21T15:28:17.103 回答