Описать команду и внешний ключ

Показывает ли команда «описать таблицу», какое поле является внешним ключом? Так же, как и в случае с первичным ключом, показывая «PRI» в ключевом столбце.

Если нет, как я могу узнать, какое поле в таблице объявлено внешним ключом?

Какой RMDB вы используете? sql server, mysql и т. д.?

Edward 27.07.2018 18:58

Посмотрите на оператор создания.

Bert Verhees 27.07.2018 19:20
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
3
709
3

Ответы 3

Если вы используете SQL Server, вы должны иметь возможность использовать sp_help 'TableName' для получения этой информации.

Вы можете использовать встроенный вид:

SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME, 
       REFERENCED_TABLE_NAME,
       REFERENCED_COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE REFERENCED_TABLE_SCHEMA = 'dbname' AND
      REFERENCED_TABLE_NAME = 'table_name';

В MySQL команда SHOW CREATE TABLE предоставит вам подробное описание всех столбцов, ограничений и индексов.

Если вы используете инструмент командной строки mysql, этот вывод будет очень подробным, поэтому вы должны запустить его с командой \G, чтобы переключиться на альтернативный формат вывода:

SHOW CREATE TABLE example\G

Если id1 является первичным ключом в таблице t1. И я хочу создать новую таблицу t2 и использовать id1 в t1 в качестве внешнего ключа в t2. Каким должен быть мой запрос? Это правда? создать таблицу t2 (первичный ключ id2 int, id1 int ссылается на t1 (id1));

pankaj prabhu 28.07.2018 11:59

Это похоже на другой вопрос. Просто опубликуйте как один, и вы получите конкретный ответ.

tadman 28.07.2018 22:35

Другие вопросы по теме

Выбирать пользователей по вхождению в другую тавку
SQL - необходимо эффективно соединить две сущности на минимальном расстоянии друг от друга в группе
Неверное значение счетчика, возвращаемое функцией счетчика из базы данных браузера HTML
Сценарий Python для SQL Server - обновление значений с помощью MERGE
Уменьшить значение в отчете через определенное количество дней
Импорт файла SAP txt в SQL Server Express 2017
Безопасность на уровне строк: тот же запрос выполняется с меньшим временем в тестовой среде и требует много времени для выполнения в PROD
SQL-запрос: выявление повторяющихся значений, а также отображение значений в столбце, которые не дублируются
Mysql DELETE (с подвыборкой NOT IN) без использования индекса и получения ОШИБКИ 1205 (HY000): Превышен таймаут ожидания блокировки;
Как экспортировать данные с SQL-сервера без использования мастера импорта / экспорта?