Home / Database & Server / Database & Server / Visualizzare tutte le Foreign Key di una tabella in MySQL
Mattepuffo

Visualizzare tutte le Foreign Key di una tabella in MySQL

Visualizzare tutte le Foreign Key di una tabella in MySQL

Oggi è giorno di pesanti modifiche al db, tra le quali anche la rinomina di alcune chiavi primarie che fungono da Foreign Key di altre tabelle.

Per evitare di andare tabella per tabella a memoria, ho trovato una query che me le indica tutte in automatico.

In sostanza, con questa query, tiriamo fuori un risultato del genere:

TABLE_NAME COLUMN_NAME CONSTRAINT_NAME REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
conti_visione_righe rcv_articolo_fk conti_visione_righe_ibfk_2 articoli articolo_nmat
fatture_righe r_articolo_fk fatture_righe_ibfk_2 articoli articolo_nmat
rientri_righe rir_articolo_fk rientri_righe_ibfk_2 articoli articolo_nmat
rigord rigord_articolo_fk rigord_ibfk_2 articoli articolo_nmat
rigord_tmp rigord_articolo_fk rigord_tmp_ibfk_1 articoli articolo_nmat

Questa la query:

SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE REFERENCED_TABLE_SCHEMA = 'YOUR_DB' AND REFERENCED_TABLE_NAME = 'YOUR_TABLE';

Trovo questa query fondamentale quando avete db con parecchie tabelle.

Enjoy!