为什么在此sqlite查询中的变量后面有逗号? [重复]

问题描述 投票:2回答:1

我有以下代码,并且可以正常工作,但是我需要了解为什么变量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))

python sqlite sql-delete
1个回答
2
投票

因为它将用?中的所有值替换所有tuple的值。如果您不输入逗号,则它是单个值,您需要将其添加以构造单个值tuple

© www.soinside.com 2019 - 2024. All rights reserved.