Повторная публикация здесь, от DBA (https://dba.stackexchange.com/questions/239623/same-column-present-on-2-foreign-key-constraints),, поскольку там он не получил внимания, и кто-то здесь, а не там может знать используемый в настоящее время метод:
Простая схема, приводящая к моему вопросуэто следующее:
http://sqlfiddle.com/#!9/3bed7b/1
Здесь, как вы можете видеть, мы строим таблицу A
, расширяя ее (скажем, что A_COPY
является "слабой сущностью")в диаграмме ER), а затем использовать его в некотором отношении R
. Вопрос в том, что здесь (таблица R
) мы используем два разных ограничения внешнего ключа, где один столбец одинаков в обоих ограничениях.не имеет смысла.
Итак, одна вещь заключается в том, будет ли это иметь значение. Я полагаю, что это будет так, поскольку я мог бы (по какой-то причине) выбрать другие ссылочные действия внешнего ключа при удалении из таблицы A
или A_COPY
соответственно, как показано здесь.
Второй вопрос Как реализовать эти операторы в MySQL с таблицами InnoDB. Как правило, вопрос заключается в следующем: что такое tон выбрал правило для ограничений внешнего ключа в одной и той же таблице с двумя или более одинаковыми столбцами, являющимися частью соответствующих ограничений внешнего ключа (например, здесь AID
используется одинаково в двух ограничениях внешнего ключа в одной таблице R
)