我正在使用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)