Задать вопрос

Удаляет не 1 запись, а все сразу. Как исправить?

Есть запрос
DELETE FROM `records` 
WHERE `user_id` in 
(SELECT `user_id` FROM `records` WHERE `user_id` = ? ORDER BY `date` DESC LIMIT 1)

Он должен удалять последнюю запись, а удаляет все сразу. Как исправить?
  • Вопрос задан
  • 48 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Продвинутый SQL
    9 недель
    Далее
  • Академия Эдюсон
    SQL-разработчик: тариф Базовый
    2 месяца
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Решения вопроса 1
@d-sem
Нужно удалять не по условию user_id, а возвращать id конкретной записи и удалять её

Что-то вроде

DELETE FROM `records` 
WHERE `id` in 
(SELECT `id` FROM `records` WHERE `user_id` = ? ORDER BY `date` DESC LIMIT 1)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы