如何使用 python 3.4 编写 MySQL 更新查询? 我使用 pymysql 作为连接器,我想更新托管在本地主机上的数据库中的表。
我写了一小段代码,但显示错误。可能是因为它与 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
类型错误:无法将字节连接到元组
所以请帮我找出错误!!
最佳答案
Vaultah 的回答非常好,但我个人更喜欢将查询字符串与数据分开。对发生在我身上的事情似乎更清楚了。
sql1 = "UPDATE field_data_comment_body SET Sentiments=%s WHERE comment_body_value=%s"
data = (para3, res)
cursor.execute(sql1, data)
关于python - 使用 python 3.4 的 MySQL 更新查询示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29349694/