首页 > 解决方案 > 如何在 python 中使用 SQL 命令发送值?

问题描述

我使用这段代码:

我想通过 %s 运算符将值放在 SQL 命令中,但是当我用 %s 引用更改值时,该命令不起作用:

s='amiravira.ir'
q1 = "SELECT DISTINCT name_cat FROM all_user WHERE id='%s' "
mycursor = mydb.cursor()
mycursor.execute( q1 ,s)
myresult = mycursor.fetchall()
myresult

只有我自己编写 SQL 命令行才能找到该值。这正是我项目的结束,这真的很奇怪。我不知道为什么会这样:

q1 = "SELECT DISTINCT name_cat FROM all_user WHERE id = 'amiravira.ir'"
mycursor = mydb.cursor ()
mycursor.execute (q1, s)
myresult = mycursor.fetchall ()
myresult

我想知道如何通过 SQL 语句发送数据?

标签: pythonmysql

解决方案


执行调用的参数必须作为可迭代(tuplelist)传递,即使只有一个。

所以改写:

mycursor.execute(q1, (s,))

将参数作为一个元素元组传递。


推荐阅读