На сайте есть новости, видео, галереи, люди. Все сущности имеют теги. Сейчас их 4, но может быть больше.
Я бы хотел создать одну таблицу, в которой связать их с тегом. Таблица тегов для всех общая.
Вот так:
| id | material_id | tag_id | material_type |
|.1.|.........1.........|.....1....|........news.......|
|.2.|.........1.........|.....1....|........video.......|
|.3.|.........1.........|.....1....|.......gallery......|
Я пытался сделать так, но столкнулся с ограничением ключа - не знаю как задать внешний ключ для промежуточной таблица.
Как прописать внешний ключ на n таблиц?
JhaoDa, не знаю как задать внешний ключ для промежуточной таблица. Сначала задал для новостей, но потом появились еще таблицы. Внешний ключ был на news_id из news.id и tag_id из tag.id
JhaoDa, они постоянно актуализируют перевод. Можете порекомендовать сайт с более актуальным переводом? На офф сайт ссылаться не хочу, для многих новичков разобраться на русском проблема, остальные прекрасно понимают что по свежим версиям надо смотреть аналогичный раздел в офф доке.
Yan-s, если есть две таблицы, то можно задать внешний ключ с условиями 'on cascade'.
Или в такой связи нужно будет прописывать вручную удаление/обновление тегов?
skarietsky, если есть две таблицы связанные внешним ключом, то можно задать параметр для внешнего ключа ON DELETE CASCADE, тогда запись будет автоматически удалена при удалении записи на которую она ссылалась.