Задать вопрос
Dier_Sergio_Great
@Dier_Sergio_Great
Увлеченный человек

Запрос на удаление, что нём не так?

Что не так?
DELETE FROM joom_user_usergroup_map m
WHERE NOT EXISTS (SELECT * FROM joom_users u WHERE u.id = m.user_id);

При том что это же с SELECT работает
SELECT * FROM joom_user_usergroup_map m
WHERE NOT EXISTS (SELECT * FROM joom_users u WHERE u.id = m.user_id);

2ая строка одинаковая в 2х запросах, но с DELETE работать не хочет
#1064 - У вас ошибка в запросе. Изучите документацию по используемой версии MariaDB на предмет корректного синтаксиса около 'm
WHERE NOT EXISTS (SELECT * FROM joom_users u WHERE u.id = m.user_id)' на строке 1

Еще вставляю
SELECT * FROM joom_user_usergroup_map m
WHERE NOT EXISTS (SELECT * FROM joom_users u WHERE u.id = m.user_id);
Работает. Заменяю SELECT на DELETE — ошибка.
  • Вопрос задан
  • 658 просмотров
Подписаться 2 Простой 4 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 1
@alexalexes
DELETE FROM joom_user_usergroup_map -- m - забудьте про алиасы в делетах, пока работаете в MariaDB !
WHERE NOT EXISTS (SELECT * FROM joom_users u WHERE u.id = joom_user_usergroup_map.user_id -- будьте добры указывать имя таблицы полностью, которую обрабатывает delete
);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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