@SeoNk

Как удалить несвязанные записи в таблице MySQL?

Есть таблица:
tags
------------
id tag
1 один
2 два
3 три
4 четыре
5 пять

есть связанные с ней таблицы:

articles
------------
id tags_id
1 1
2 1
3 3

и

images
------------
id tags_id
1 1
2 3
3 5

Как из таблицы tags удалить все не связанные записи (в данном случае 2 и 4)
Помогите построить запрос

Спасибо
  • Вопрос задан
  • 167 просмотров
Решения вопроса 1
@magazovski
Вам поможет JOIN, на картинке ваш случай левый по середине:

1UKp7.png
DELETE FROM tags t
LEFT JOIN articles a on a.tag_id = t.id
LEFT JOIN images i on i.tag_id = t.id
WHERE i.id IS NULL AND a.id IS NULL;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
Ваш ответ на вопрос

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

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