Как могут идентификаторы полей одного столбца из двух разных таблиц? - PullRequest
2 голосов
/ 27 апреля 2020

У меня есть:

Таблица Review с колонкой item_id (не pk)

Таблица Product с колонкой id (pk)

Таблица Business с колонкой id (pk)

Отношения:

Review.item_id ссылки Product.id

Review.item_id ссылки Business.id

Эти отношения 1: M enter image description here

Каков синтаксис в MySQL для одного поля столбца для ссылки на идентификаторы из двух разных таблиц?

Мое исследование заставьте меня поверить, что у вас не может быть одного внешнего ключа, ссылающегося на две разные таблицы. Мои выводы на данный момент (на основании ссылок, приведенных ниже):

  1. Использовать внешний ключ без ограничения внешнего ключа
  2. Использовать поле для ссылки на другие записи, но не создавать внешний ключ ограничение
  3. Полиморф c Ассоциации. Внешний ключ может ссылаться на строки в любой из нескольких связанных таблиц.
  4. Один внешний ключ может ссылаться только на одну таблицу

Эти выводы кажутся мне логичными, но я не могу понять, синтаксис.

ссылки:

MYSQL - один столбец связан с несколькими таблицами

Можно ли ссылаться на один столбец как несколько внешних ключей ?

MySQL - Условные ограничения внешнего ключа

...