python - 如何在 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 语句发送数据?
解决方案
执行调用的参数必须作为可迭代(tuple
或list
)传递,即使只有一个。
所以改写:
mycursor.execute(q1, (s,))
将参数作为一个元素元组传递。
推荐阅读
- javascript - 这个函数应该如何正确地从 PHP 移植到 Javascript
- c# - 打印 .txt 文件后向 ESC/POS 打印机发送剪纸命令
- python - 如何只获取随机字母而不是符号
- c++ - std::function segfault 的自修改向量
- c# - 如何使用 Microsoft Graph api 或类似的 api 获取联系人组
- events - ExtJS 在禁用的 TextField 上单击事件
- puppet - 一切完成后或 exec 完成后执行 create_resource
- azure - 无法获取 Azure Devops Workitem 布局
- sql-server - 为什么我的测试环境上的查询执行计划与实时服务器不同?
- powershell - 无法使用 powershell 在 windows server 2016 上启动 windows 服务