python - 如何将变量添加到 sql 查询?
问题描述
我收到以下错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 %s 附近使用的正确语法 如何将变量添加到我的 sql 查询?
#!/usr/bin/python
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="",
password="",
database="seahub_db"
)
mycursor = mydb.cursor()
ip = "Myip"
sql = "UPDATE constance_config SET value = %s WHERE id=1"
mycursor.execute(sql, ip)
mydb.commit()
mycursor.close()
mydb.close()
解决方案
游标的execute()
函数需要一个元组作为第二个参数:
mycursor = mydb.cursor(prepared=True)
ip = ("Myip",)
sql = "UPDATE constance_config SET value = %s WHERE id=1"
mycursor.execute(sql, ip)
另请注意,我在准备好的语句模式下打开游标。您可能不需要明确地这样做,但我这样做是出于教学原因。
推荐阅读
- c# - 使用 C# 在 Azure 上自动部署机器人服务
- laravel - 使用 csrf 令牌时不显示表单
- django - IBM Cloud 上的 Blender(Cloud Foundry)
- python - 在 tensorflow 中使用预训练的对象检测模型。使用了哪些参数?
- ios - 当键盘出现时 CollectionView 向上移动然后返回到之前的位置
- html - 不同的图像大小取决于视口
- html - 如何将 CSS 应用于 HTML DIV 标签?
- dataframe - 用例类修剪 DataFrame
- c# - 没有足够的可用内存来运行此程序,Outlook MAPI 错误 - MailItem.SaveAs 方法 C#
- html - 如何更改列表中项目的缩进