如何将整数列表转换为单值元组
How to turn an interger list to single value tuples
我写了一个代码从数据库中删除一些用户,但是它说 Incorrect number of bindings supplied. The current statement uses 1, and there are 4 supplied
。
def delete_user(self, user_id):
stmt = "DELETE FROM user WHERE user_id = (?)"
args = user_id
try:
self.conn.executemany(stmt, (args,))
self.conn.commit()
except sqlite3.Error as e:
logging.error(str(e))
我的部分主要代码:
deleted_user = []
deleted_user.append(1384995383)
deleted_user.append(1667596031)
deleted_user.append(1332658866)
deleted_user.append(1295962235)
print(deleted_user)
db.delete_user(deleted_user)
我找到了这个答案:
我尝试使用tuple(user_id)
将其转换为元组,但结果不是 I'm except
来源 deleted_user 列表:
[1384995383, 1667596031, 1332658866, 1295962235]
元组(user_id)后结果:
(1384995383, 1667596031, 1332658866, 1295962235)
我的期望:
[(1384995383,), (1667596031,), (1332658866,), (1295962235,)]
我尝试搜索,但找不到我想要的答案:(
试试这个:
deleted_user.append((1384995383,))
def delete_user_ids(self, user_ids):
stmt = "DELETE FROM user WHERE user_id = (?)"
try:
self.conn.executemany(stmt, user_ids)
# ^^^^^^^^
user_ids = []
user_ids.append((1384995383,))
user_ids.append((1667596031,))
user_ids.append((1332658866,))
user_ids.append((1295962235,))
delete_user_ids(user_ids)
我写了一个代码从数据库中删除一些用户,但是它说 Incorrect number of bindings supplied. The current statement uses 1, and there are 4 supplied
。
def delete_user(self, user_id):
stmt = "DELETE FROM user WHERE user_id = (?)"
args = user_id
try:
self.conn.executemany(stmt, (args,))
self.conn.commit()
except sqlite3.Error as e:
logging.error(str(e))
我的部分主要代码:
deleted_user = []
deleted_user.append(1384995383)
deleted_user.append(1667596031)
deleted_user.append(1332658866)
deleted_user.append(1295962235)
print(deleted_user)
db.delete_user(deleted_user)
我找到了这个答案:
我尝试使用tuple(user_id)
将其转换为元组,但结果不是 I'm except
来源 deleted_user 列表:
[1384995383, 1667596031, 1332658866, 1295962235]
元组(user_id)后结果:
(1384995383, 1667596031, 1332658866, 1295962235)
我的期望:
[(1384995383,), (1667596031,), (1332658866,), (1295962235,)]
我尝试搜索,但找不到我想要的答案:(
试试这个:
deleted_user.append((1384995383,))
def delete_user_ids(self, user_ids):
stmt = "DELETE FROM user WHERE user_id = (?)"
try:
self.conn.executemany(stmt, user_ids)
# ^^^^^^^^
user_ids = []
user_ids.append((1384995383,))
user_ids.append((1667596031,))
user_ids.append((1332658866,))
user_ids.append((1295962235,))
delete_user_ids(user_ids)