Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么在这个sqlite查询中变量后面有逗号?_Python_Sqlite_Sql Delete - Fatal编程技术网

Python 为什么在这个sqlite查询中变量后面有逗号?

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_to_remove后面有一个逗号,有人能给我解释一下为什么必须有逗号吗?(我把我不懂的部分加粗)


所以我不知道为什么它的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()