Почему не обновляется/добавляется строка SQL?

Рейтинг: 0Ответов: 1Опубликовано: 18.03.2023

Вот код функции, которая выполняет сам запрос

def add_login(login, login_tg, signal):
    con = sqlite3.connect('handler/telegram_logins.db')
    cur = con.cursor()
    cur.execute(f'SELECT * FROM telegram_logins WHERE login_tg="{login_tg}";')
    value = cur.fetchall()
    if value:
        signal.emit('Данный телеграм уже привязан к другому аккаунту!')
    else:
        cur.execute(f'SELECT * FROM telegram_logins WHERE login="{login}";')
        value2 = cur.fetchall()
        if value2:
            cur.execute(f'UPDATE telegram_logins SET login_tg="{login_tg}" WHERE login="{login}";')
            con.commit()
        else:
            cur.execute(f'INSERT INTO telegram_logins (login, login_tg) VALUES ("{login}", "{login_tg}")')
            con.commit()
        signal.emit('Вы успешно добавили телеграм!')
    cur.close()
    con.close()

Ответы

▲ 0

Разобрался, con.commit() следует прописывать прямо перед cur.close(), так все данные из журнала сохранятся в ДБ