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

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

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

Он должен удалять последнюю запись, а удаляет все сразу. Как исправить?
  • Вопрос задан
  • 46 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Продвинутый SQL
    5 недель
    Далее
  • Яндекс Практикум
    SQL для разработки
    4 месяца
    Далее
  • Академия Eduson
    SQL-разработчик: тариф Базовый
    3 месяца
    Далее
Решения вопроса 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)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Екатеринбург
от 50 000 до 90 000 ₽