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 — ошибка.
  • Вопрос задан
  • 638 просмотров
Решения вопроса 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
);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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