Python 为什么在这个sqlite查询中变量后面有逗号?
我有下面的代码,它可以工作,但我需要理解为什么变量id_to_remove后面有一个逗号,有人能给我解释一下为什么必须有逗号吗?(我把我不懂的部分加粗)Python 为什么在这个sqlite查询中变量后面有逗号?,python,sqlite,sql-delete,Python,Sqlite,Sql Delete,我有下面的代码,它可以工作,但我需要理解为什么变量id_to_remove后面有一个逗号,有人能给我解释一下为什么必须有逗号吗?(我把我不懂的部分加粗) 所以我不知道为什么它的id要删除,而不仅仅是cursor.execute(sql,(id要删除)),因为它将用元组中的值替换所有?值。如果你不加逗号,那么它就是一个单值,你需要加上它来构造一个单值元组(id\u to\u remove,)是一个元组,包含一个项id\u to\u remove。这是因为execute需要一个iterable(列表
所以我不知道为什么它的id要删除,而不仅仅是cursor.execute(sql,(id要删除)),因为它将用
元组中的值替换所有?
值。如果你不加逗号,那么它就是一个单值,你需要加上它来构造一个单值元组(id\u to\u remove,)
是一个元组,包含一个项id\u to\u remove
。这是因为execute需要一个iterable(列表)作为第二个参数,如果你不加逗号(id\u to\u remove)就在括号之间将转换为整数。检查,和/或非常感谢,有一些阅读要做:0)
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()