首页 > 解决方案 > 如何将变量添加到 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()

标签: pythonmysql

解决方案


游标的execute()函数需要一个元组作为第二个参数:

mycursor = mydb.cursor(prepared=True)
ip = ("Myip",)
sql = "UPDATE constance_config SET value = %s WHERE id=1"
mycursor.execute(sql, ip)

另请注意,我在准备好的语句模式下打开游标。您可能不需要明确地这样做,但我这样做是出于教学原因。


推荐阅读