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






Если вы используете 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));
Это похоже на другой вопрос. Просто опубликуйте как один, и вы получите конкретный ответ.
Какой RMDB вы используете?
sql server,mysqlи т. д.?