mercoledì 7 settembre 2011

Trovare tutte le tabelle che hanno FK verso un'altra tabella

Alle volte è utile conoscere quante tabelle hanno FK verso una tabella X, soprattutto se è necessario per qualche motivo effettuare una delete di un record dalla tabella X e se nel db è applicata la regola dell'integrità referenziale.
Per ottenere questa informazione si può interrogare il db information_schema effettuando la seguente query

select table_schema as 'Db',table_name as 'Tabella Referenziante',referenced_table_name as 'Tabella Referenziata',
column_name as 'Colonna Regerenziante',referenced_column_name as 'Colonna Referenziata'
 from key_column_usage where constraint_schema='[NOME_DB]' and referenced_table_name='[TABELLA_X]'
 and referenced_column_name='[PK_TABELLA_X]';





Nessun commento:

Posta un commento