簡體   English   中英

如何將整數列表轉換為單值元組

[英]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 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)

我找到了這個答案: sqlite3:提供的綁定數量不正確。 當前語句使用 1,提供了 5 個

我嘗試使用tuple(user_id)將其轉換為元組,但結果不是我除外

來源deleted_user列表:

[1384995383, 1667596031, 1332658866, 1295962235]

在 tuple(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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM