Проблема с БД sqlite3. Пишет "ValueError: parameters are of unsupported type"

Вот код:

@tasks.loop(seconds=10)
async def check():

    guild_names = []

    cursor.execute('SELECT * FROM guilds')
    name = cursor.fetchall()

    for name1 in name:
        guild_names.append(name1[1])
    

    for name2 in guild_names:
        cursor.execute('SELECT * FROM muted_members_{}'.format(name2))
        member1 = cursor.fetchall()[0]
        member_id = member1[0]

        muted_role = cursor.execute('SELECT role_id FROM mute_role_{}'.format(name2))
        
        cursor.execute('SELECT end_time [date] FROM muted_members_{}'.format(name2))
        member2 = cursor.fetchall()[0]
        member_end_time = member2[0]
        member_end_time = datetime.datetime.strptime(member_end_time, "%Y-%m-%d %H:%M:%S.%f")
        

        if member_end_time <= datetime.datetime.now():
            print(type(name2))
            print(member_id)
            cursor.execute('DELETE FROM muted_members_{} WHERE member_id = ?'.format(str(name2)), (int(member_id)), ) #ошибку выдает на этой строке
            base.commit()
            discord.Member.member_id.remove_roles(muted_role)
        else:
            pass

Все что выше я дал для понимания значения переменной


Ответы (1 шт):

Автор решения: gil9red

Давайте упростим код, переместив в переменные:

sql = 'DELETE FROM muted_members_{} WHERE member_id = ?'.format(name2)
member_id = int(member_id)
cursor.execute(sql, (member_id), )
#                             ^^^

Думаю, стало заметно, что запятая в другом месте, правильно:

cursor.execute(sql, (member_id,))
→ Ссылка