#mysql #sql
Вопрос:
У меня есть база данных Mysql, в которой у меня есть таблица с именем media, и несколько таблиц, каждая из которых имеет media_id в качестве внешнего ключа,
Я хочу, чтобы запрос возвращал таблицу, в которой используется определенный идентификатор media_id.
Комментарии:
1. Вам придется запрашивать каждую таблицу отдельно. Возможно, вы сможете выполнить все таблицы в одной инструкции SQL с помощью UNION ALL, но, к сожалению, нет никакой тайной магии, которая позволяла бы нам спросить, в каких таблицах упоминается это конкретное значение в этом конкретном столбце в этой конкретной таблице.
Ответ №1:
Вы можете попробовать использовать системные таблицы.
SELECT
object_name(parent_object_id) ParentTableName,
object_name(referenced_object_id) RefTableName,
name
FROM sys.foreign_keys
WHERE parent_object_id = object_id('Tablename')