commit 3e4ef0f93914c92f6e4dd499eb9106066247b406 Author: p.belezov Date: Thu Jan 16 12:35:38 2025 +0800 'initial-commit' diff --git a/MySQL/all_foreign_keys_to_table_or_column.md b/MySQL/all_foreign_keys_to_table_or_column.md new file mode 100644 index 0000000..0c2e616 --- /dev/null +++ b/MySQL/all_foreign_keys_to_table_or_column.md @@ -0,0 +1,27 @@ +# Find all tables whose foreign key refers to the table/column +[SQL File](/sql/all_foreign_keys_to_table_or_column.sql) + +## By table + +``` +SELECT + TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME +FROM + INFORMATION_SCHEMA.KEY_COLUMN_USAGE +WHERE + REFERENCED_TABLE_SCHEMA = (SELECT DATABASE()) AND + REFERENCED_TABLE_NAME = ''; +``` + +## By table column + +``` +SELECT + TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME +FROM + INFORMATION_SCHEMA.KEY_COLUMN_USAGE +WHERE + REFERENCED_TABLE_SCHEMA = (SELECT DATABASE()) AND + REFERENCED_TABLE_NAME = '' AND + REFERENCED_COLUMN_NAME = ''; +``` \ No newline at end of file diff --git a/MySQL/sql/all_foreign_keys_to_table_or_column.sql b/MySQL/sql/all_foreign_keys_to_table_or_column.sql new file mode 100644 index 0000000..58b937d --- /dev/null +++ b/MySQL/sql/all_foreign_keys_to_table_or_column.sql @@ -0,0 +1,21 @@ +# Find all tables whose foreign key refers to the table/column + +# BY TABLE +SELECT + TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME +FROM + INFORMATION_SCHEMA.KEY_COLUMN_USAGE +WHERE + REFERENCED_TABLE_SCHEMA = (SELECT DATABASE()) AND + REFERENCED_TABLE_NAME = ''; + + +# BY TABLE COLUMN +SELECT + TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME +FROM + INFORMATION_SCHEMA.KEY_COLUMN_USAGE +WHERE + REFERENCED_TABLE_SCHEMA = (SELECT DATABASE()) AND + REFERENCED_TABLE_NAME = '' AND + REFERENCED_COLUMN_NAME = ''; \ No newline at end of file