Как получить список всех ограничений внешнего ключа, указывающих на (и ОТ) конкретную таблицу и / или определенный столбец из базы данных MySQL, созданной с помощью MyISAM?Это то же самое, что и этот вопрос InnoDB , но MyISAM специфично для MySQL.
Рассмотрим набор данных канонических авиакомпаний.Когда я запускаю следующие два запроса, основанные на принятом ответе связанного вопроса (TO) и ответе узла (FROM), мои результаты становятся пустыми.
Показать все внешние ключи, указывающие на 'mytable' :
SELECT
TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_TABLE_SCHEMA, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME
FROM
INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
REFERENCED_TABLE_SCHEMA = 'airlines' AND -- <database>
REFERENCED_TABLE_NAME = 'airports'; -- <table> flights, carriers, planes
Показать все внешние ключи, указывающие на 'mytable' :
SELECT * FROM information_schema.TABLE_CONSTRAINTS
WHERE information_schema.TABLE_CONSTRAINTS.CONSTRAINT_TYPE = 'FOREIGN KEY'
AND information_schema.TABLE_CONSTRAINTS.TABLE_SCHEMA = 'airlines'
AND information_schema.TABLE_CONSTRAINTS.TABLE_NAME = 'carriers';
Неправильно ли я опознал REFERENCED_TABLE_SCHEMA?Этот запрос работает только в InnoDB?