@Studentka1996

Как удалить последнюю запись в таблице?

Здравствуйте. Что не правильно? Хочу удалить последнюю запись в таблице Клиент и таблице Доставка
cur.execute('DELETE FROM Клиент ORDER BY Код_клиента DESC LIMIT 1')
        cur.execute('DELETE FROM Доставка ORDER BY Код_доставки DESC LIMIT 1')
        con.commit() #сохранить изменения

5e3be9a014aa6553813692.png

Сработал 1 вариант:
cur.execute('SELECT Код_доставки FROM Доставка ORDER BY Код_доставки DESC LIMIT 1')
        show = cur.fetchone()
        print(show[0])
        cur.execute(f'DELETE FROM Доставка WHERE Код_доставки = {show[0]}')
        con.commit() #сохранить изменения
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Во-первых, инструкция delete не принимает выражения order by. Во-вторых, SQLite, как и многие другие СУБД, хранит данные в произвольном порядке, а потому понятие "последняя запись" не имеет смысла. Вам нужно сделать выборку с сортировкой по полю, определяющему порядок записей, получить идентификатор первой или последней в выборке записи и передать его в условие WHERE запроса на удаление.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы