使用python 3.4进行MySQL更新查询的示例

如何使用
python 3.4编写
MySQL更新查询?

我正在使用pymysql作为连接器,我想更新托管在localhost上的数据库中的表.

我写了一小段代码,但它显示错误.可能是因为它与python 3.4不兼容.

sql1 = ("""
          UPDATE field_data_comment_body SET  Sentiments=%s
            WHERE comment_body_value=%s """, (para3,res))
    cursor.execute(sql1)

执行此操作时显示错误

Traceback (most recent call last):
  File "F:\The Script\new.py", line 44, in <module>
    cursor.execute(sql1)
  File "C:\Python34\lib\site-packages\pymysql-0.6.6-py3.4.egg\pymysql\cursors.py", line 134, in execute
    result = self._query(query)
  File "C:\Python34\lib\site-packages\pymysql-0.6.6-py3.4.egg\pymysql\cursors.py", line 282, in _query
    conn.query(q)
  File "C:\Python34\lib\site-packages\pymysql-0.6.6-py3.4.egg\pymysql\connections.py", line 767, in query
    self._execute_command(COMMAND.COM_QUERY, sql)
  File "C:\Python34\lib\site-packages\pymysql-0.6.6-py3.4.egg\pymysql\connections.py", line 957, in _execute_command
    self._write_bytes(prelude + sql[:chunk_size-1])
TypeError: can't concat bytes to tuple

TypeError:无法将字节连接到元组

所以请帮我找出错误!!

最佳答案 Vaultah的答案非常好,但我个人更喜欢将查询字符串与数据分开.这对我来说似乎更清楚.

sql1 = "UPDATE field_data_comment_body SET Sentiments=%s WHERE comment_body_value=%s"
data = (para3, res)
cursor.execute(sql1, data)
点赞