getting a error called 'ValueError: parameters are of unsupported type' when passing a variable through an sqlite query

getting a error called 'ValueError: parameters are of unsupported type' when passing a variable through an sqlite query

所以我试图从 table 中获取一行,如果我 运行 像下面这样...

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”是我这样做的错误。

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

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

PS:恭喜您获得了 5 年来的第一个问题!