2010-03-18 1 views

ответ

10

Чтобы показать только ограничение внешнего ключа вы можете проверить constraint_type в 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; 
+0

спасибо, что это именно то, что я искал. – pvgoddijn

+0

+1 NICE QUERY. FTW ... – KeatsKelleher

-3
SHOW TABLE STATUS FROM db_name LIKE 'tbl_name'; 

внешнего ключа ограничения перечислены в замечании столбце вывода.

+0

Эти не работает во всех типах таблиц. –

1
select * from 
information_schema.KEY_COLUMN_USAGE 
where table_schema = <db_name> 
and table_name = <table_name>; 

 Смежные вопросы

  • Нет связанных вопросов^_^