Краткие советы MariaDB #8 — Все ограничения внешнего ключа


Советы и подсказки по MariaDB

Это часть серии быстрых советов и рекомендаций, которые я накопил за год и которые, как мне кажется, могут быть полезны другим.
Если у вас есть похожие краткие советы и рекомендации, пожалуйста, оставьте комментарий.

Все ограничения внешних ключей

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

SET @DatabaseName := 'test_db';
SET @ColumnName := 'dept_no';

SELECT concat(rc.unique_constraint_schema, '.', rc.referenced_table_name) AS `Primary table`,
       concat(rc.constraint_schema, '.', rc.table_name) AS `Foreign table`, 
       rc.constraint_name AS `Constraint name`
  FROM information_schema.referential_constraints rc
  JOIN information_schema.key_column_usage cu ON rc.constraint_schema = cu.table_schema 
       AND rc.table_name = cu.table_name
       AND rc.constraint_name = cu.constraint_name
 WHERE rc.constraint_schema = @DatabaseName
   AND cu.COLUMN_NAME = @ColumnName
 ORDER BY rc.constraint_schema,
       rc.table_name;
Войти в полноэкранный режим Выход из полноэкранного режима

Оцените статью
devanswers.ru
Добавить комментарий