sql >> Databasteknik >  >> RDS >> Mysql

Hur ser jag alla främmande nycklar till en tabell eller kolumn?

För ett bord:

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>';

För en kolumn:

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>';

I grund och botten ändrade vi REFERENCED_TABLE_NAME med REFERENCED_COLUMN_NAME i where-satsen.



  1. kodning UTF8 matchar inte locale en_US; den valda LC_CTYPE-inställningen kräver kodning av LATIN1

  2. Beräkna decil från frekvens i MySQL

  3. ORA-00918:kolumn är tvetydigt definierad i SELECT *

  4. SQLite Välj