Есть ли простой способ запросить таблицу для своих ограничений (с помощью дополнительных ключей) как показать таблицу создания, но только для ограничений?Mysql показать создать ограничение?
спасибо,
pvgoddijn
Есть ли простой способ запросить таблицу для своих ограничений (с помощью дополнительных ключей) как показать таблицу создания, но только для ограничений?Mysql показать создать ограничение?
спасибо,
pvgoddijn
Чтобы показать только ограничение внешнего ключа вы можете проверить 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;
SHOW TABLE STATUS FROM db_name LIKE 'tbl_name';
внешнего ключа ограничения перечислены в замечании столбце вывода.
Эти не работает во всех типах таблиц. –
SHOW TABLE STATUS FROM db_name LIKE 'tbl_name';
select * from
information_schema.KEY_COLUMN_USAGE
where table_schema = <db_name>
and table_name = <table_name>;
спасибо, что это именно то, что я искал. – pvgoddijn
+1 NICE QUERY. FTW ... – KeatsKelleher