python - 使用 sqlite3 python 错误进行数据库搜索
问题描述
def dashboard():
p = request.form['Pseudo']
if cur.execute("SELECT * FROM pseudo WHERE user = '?'", (p,)) == 0:
cur.execute("INSERT INTO pseudo (user, score, win, coup) VALUES (?,?,?,?)", (p,0,0,0))
conn.commit()
else:
pass
return render_template("index.html",data=liste, Pseudo = p)
错误:sqlite3.ProgrammingError:提供的绑定数量不正确。当前语句使用 0,并且提供了 1。
你好,我已经被困了几个小时,我不明白为什么我会犯错误。这个程序是一个正在进行的项目,在这里我想检查伪是否已经在使用,如果没有使用,请将其注册到数据库中
解决方案
考虑调整表定义以避免使用条件逻辑进行多次查询:
SQLite
CREATE TABLE pseudo (
id INTEGER PRIMARY KEY,
user VARCHAR UNIQUE, -- UNIQUE REQUIRED FOR IGNORE
score INTEGER DEFAULT 0,
win INTEGER DEFAULT 0,
coup INTEGER DEFAULT 0
);
Python
def dashboard():
p = request.form['Pseudo']
cur.execute("INSERT OR IGNORE INTO pseudo (user) VALUES (?)", (p,))
conn.commit()
...
return render_template("index.html", data=liste, Pseudo=p)
推荐阅读
- python - Python - 如何获得两个图像的平均值?
- angular - 我们如何翻译动态值
- python - 根据列表中的元素向 Outlook 电子邮件添加多个附件
- python - 覆盖两个图*之后*我在 Matplotlib 中制作了 plt.show()
- android - 未解决的参考:viewModelScope - Kotlin Android
- r - 将特定长度的垂直折线添加到R中的连续多边形
- python - Pandas:向量化局部范围操作([i:i+2] 行的最大值和总和)
- apache-kafka - 哪个 kafka 属性决定了 KafkaConsumer 的轮询频率?
- html - 如何使用我的结构从切片中显示表格
- mysql - MySQL 连接失败“user@LAPTOP ...”(使用密码:否)