【发布时间】:2019-12-31 19:30:15
【问题描述】:
我有以下代码并且它可以工作,但我需要了解为什么变量 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))
【问题讨论】:
-
(id_to_remove, )是一个包含一个项目的元组,id_to_remove。 -
那是因为 execute 期望第二个参数是一个可迭代的(一个列表),如果你不把逗号放在括号之间 (id_to_remove) 将转换为一个 int。
-
非常感谢,有一些阅读要做。 :0)
标签: python sqlite sql-delete