Identificare tutte le referenze di una FOREIGN KEY in MySQL e MariaDB

Mattepuffo's logo
Identificare tutte le referenze di una FOREIGN KEY in MySQL e MariaDB

Identificare tutte le referenze di una FOREIGN KEY in MySQL e MariaDB

In pratica, su un database MariaDB, avevo la necessità di capire se alcuni campi di alcune tabelle fossere collegare ad altre tabelle come FOREIGN KEY.

Avere queste informazioni è molto semplice andando ad interrogare information_schema.

Ed ovviamente tutto ciò vale anche per MySQL.

Vediamo un paio di esempi:

SELECT * FROM information_schema.KEY_COLUMN_USAGE
WHERE REFERENCED_TABLE_NAME = 'VOSTRA_TABELLA' 
	AND REFERENCED_COLUMN_NAME = 'CAMPO';

Dovete solo sostituire:

  • VOSTRA_TABELLA mettendoci la tabella dove avete il campo da controllare
  • CAMPO mettendoci la colonna da controllare

Volendo possiamo anche specificare il database di riferimento, nel caso se avessimo più di uno con stesse tabelle/campi:

SELECT * FROM	information_schema.KEY_COLUMN_USAGE
WHERE REFERENCED_TABLE_NAME = 'VOSTRA_TABELLA' 
	AND REFERENCED_COLUMN_NAME = 'CAMPO'
	AND TABLE_SCHEMA = 'DATABASE';

Enjoy!


Condividi

Commentami!