【发布时间】:2021-08-20 09:14:35
【问题描述】:
我知道这看起来很基础,但是我能找到的任何答案都对我不起作用。
import sqlite3
conn = sqlite3.connect("mydb.db")
cursor = conn.cursor()
name = "John Doe"
cursor.execute("SELECT * FROM users WHERE username = ?", name)
items = cursor.fetchall()
print(items)
conn.close()
我正在尝试获取用户名为“John Doe”的所有用户的列表(我知道有一个),但前面的代码给出了以下错误:
Traceback (most recent call last):
File ".\sqlitetest.py", line 10, in <module>
cursor.execute("SELECT * FROM users WHERE username = ?", name)
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 8 supplied.
【问题讨论】:
-
你应该传递一个 tuple 值来绑定。
"John Doe"被解释为一个由 8 个值组成的序列(每个值都是一个单字符串)。
标签: python python-3.x sqlite