Внешний ключ SQL на основе столбца, который определяет таблицу - PullRequest
0 голосов
/ 10 февраля 2011

Предположим, у меня есть таблица, содержащая список идентификаторов, указывающих на имена таблиц, со следующей схемой:

RemoteTables
============
id (Primary Key)
tableName (string)

Предположим, у меня также есть следующая схема в другой таблице:

AnotherTable
============
id (Primary Key)
remoteTableId (foreign key referencing RemoteTables)
remoteId ("special" foreign key)

, где remoteId указывает на строку в таблице, указанную remoteTableId.

Я видел несколько ситуаций, когда я хотел это сделать, но есть ли встроенная поддержка SQL для управленияотношения в любом случае?

1 Ответ

1 голос
/ 10 февраля 2011

Здесь у вас есть особый тип ограничений, потому что вы создаете собственную базу метаданных (своего рода словарь данных).Так что ничего «встроенного», по сути, нет.

Лучше всего было бы применить это через триггер, хотя триггеры на MySQL, к сожалению, не всегда так просты, как следовало бы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...