【问题标题】:getting a error called 'ValueError: parameters are of unsupported type' when passing a variable through an sqlite query通过 sqlite 查询传递变量时出现名为“ValueError:参数类型不受支持”的错误
【发布时间】:2021-10-02 18:19:43
【问题描述】:

所以我试图从表中获取一行,如果我在下面运行类似这样的东西......

cursor.execute("SELECT * FROM mytable WHERE social = '999-99-9999'")
elements = cursor.fetchall()

for x in elements:
   print(x)

它工作得很好,它会在一行中显示所有元素

...但是如果我尝试在下面传递一个像这样的变量...

m = 999-99-9999
cursor.execute("SELECT * FROM mytable WHERE social = ?", (m))
elements = cursor.fetchall()

for x in elements:
    print(x)

“ValueError: parameters are of unsupported type”是我这样做的错误。

【问题讨论】:

    标签: python sqlite flask request


    【解决方案1】:

    确保为m 局部变量使用字符串,然后使用string.format() 将SQL 查询格式化为m。

    m = "999-99-9999"
    cursor.execute("SELECT * FROM mytable WHERE social = '{}'".format(m))
    

    PS:恭喜你5年来的第一个问题!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-23
      • 1970-01-01
      • 2016-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-29
      • 2022-12-17
      相关资源
      最近更新 更多