【问题标题】:Not all parameters were used in the SQL statement Python - MySql并非所有参数都在 SQL 语句 Python - MySql 中使用
【发布时间】:2021-08-18 20:59:31
【问题描述】:

我想检查该 ID 是否已经存在,但出现此错误:

Not all parameters were used in the SQL statement

代码:

Id = "TEST"
sql = """SELECT * FROM musics WHERE Id = %s"""
dbc.execute(sql, Id)

row = cursor.rowcount
if row == 0:
    #NOT EXSIST

【问题讨论】:

  • 你需要把Id放在一个元组中。

标签: python mysql


【解决方案1】:

execute() 的第二个参数应该是一个值序列,一个对应于查询中的每个占位符标记 %s

你确实通过了一个序列,但不是按照你想要的方式。字符串是序列,因此您实际上传递了 四个 值的序列 - T, E, S, T,值太多了,因为查询只有一个占位符标记。

将字符串作为单元素元组传递,如下所示:

args = ("TEST",)
sql = """SELECT * FROM musics WHERE Id = %s"""
dbc.execute(sql, args)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-12
    • 1970-01-01
    • 2017-07-25
    • 1970-01-01
    • 2021-03-03
    • 2016-04-04
    • 2019-09-09
    相关资源
    最近更新 更多