Mysql шоу создать ограничение? - PullRequest
7 голосов
/ 18 марта 2010

Есть ли простой способ запросить таблицу на предмет ее ограничений (специально для Foreignkeys) как show create table, но только для ограничений?

спасибо,

pvgoddijn

Ответы [ 4 ]

12 голосов
/ 18 марта 2010

Чтобы показать только ограничения внешнего ключа, вы можете проверить тип_ограничения в information_schema.table_constraints и получить соответствующие столбцы в information_schema.key_column_usage через объединение

SELECT b.table_name, b.column_name, b.constraint_name,
       b.referenced_table_name, b.referenced_column_name
FROM information_schema.table_constraints a
JOIN information_schema.key_column_usage b
ON a.table_schema = b.table_schema AND a.constraint_name = b.constraint_name
WHERE a.table_schema=database() AND a.constraint_type='FOREIGN KEY'
ORDER BY b.table_name, b.constraint_name;
1 голос
/ 18 марта 2010
select * from 
information_schema.KEY_COLUMN_USAGE 
where table_schema = <db_name> 
and table_name = <table_name>;
0 голосов
/ 18 марта 2010

MySQL 5.1 Manual

SHOW TABLE STATUS FROM db_name LIKE 'tbl_name';
0 голосов
/ 18 марта 2010
SHOW TABLE STATUS FROM db_name LIKE 'tbl_name';

Ограничения внешнего ключа перечислены в столбце «Комментарии» выходных данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...