sql >> Databáze >  >> RDS >> Mysql

Jak zobrazím všechny cizí klíče k tabulce nebo sloupci?

Pro stůl:

SELECT 
  TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
FROM
  INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
  REFERENCED_TABLE_SCHEMA = '<database>' AND
  REFERENCED_TABLE_NAME = '<table>';

Pro sloupec:

SELECT 
  TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
FROM
  INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
  REFERENCED_TABLE_SCHEMA = '<database>' AND
  REFERENCED_TABLE_NAME = '<table>' AND
  REFERENCED_COLUMN_NAME = '<column>';

V podstatě jsme změnili REFERENCED_TABLE_NAME na REFERENCED_COLUMN_NAME v klauzuli where.



  1. Žádná další data ke čtení z chyby soketu

  2. Pochopení toho, co sp_updatestats skutečně aktualizuje

  3. Jak nejlépe získat něčí „hodnost“ z tabulky skóre pomocí php a mysql bez zacyklení

  4. 12c Změny DBA_USERS