python - 为什么这个 sqlite 查询中的变量后面有一个逗号?

标签 python sqlite sql-delete

我有以下代码并且它有效,但我需要理解为什么变量 id_to_remove 后面有一个逗号,有人可以向我解释为什么它必须在那里吗? (我不明白的部分加粗了)

def delete_user(id_to_remove):
    sql = "DELETE FROM USERS WHERE ID = ?"
    conn = create_connection()
    cursor = conn.cursor()
    **cursor.execute(sql, (id_to_remove, ))**
    conn.commit()
    conn.close()

所以我不知道为什么它是 id_to_remove,而不仅仅是cursor.execute(sql,(id_to_remove))

最佳答案

因为它会将所有 ? 值替换为 tuple 中的值。如果不加逗号则它是单个值,您需要添加它来构造单个值元组

关于python - 为什么这个 sqlite 查询中的变量后面有一个逗号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59547851/

相关文章:

sql - 如何使用 join 和 where 子句从另一表中仅删除一个表中的值

python - 回调完成后如何正确停止 Twisted reactor

android - 尝试写一个只读数据库......但我不是

java - 这是在 Java 中释放 SQLite 连接的最佳方法吗?

php - 只保存10条记录,但按ID删除所有其他记录 庞大的数据库

c# - 我收到错误 "The DELETE statement conflicted with the REFERENCE constraint"

python - 计算 Pandas 数据帧中的动态时间扭曲距离

python - 使用 pandas 将两个不同的数据帧转换为一个 json 文件

Python 通过请求登录 chess.com

.net - 使用 SQLite 和 WinForms 2.0 C# 的编码问题