sql >> Database >  >> RDS >> Mysql

MySQL:hoe programmatisch relaties met externe sleutels bepalen?

Er zijn twee tabellen die u kunt opvragen om deze informatie te krijgen:INFORMATION_SCHEMA.TABLE_CONSTRAINTS en INFORMATION_SCHEMA.KEY_COLUMN_USAGE .

Hier is een vraag uit de opmerkingen op de laatste pagina waarnaar hierboven is gelinkt, die laat zien hoe u de informatie kunt krijgen die u zoekt.

SELECT CONCAT( table_name, '.', column_name, ' -> ', 
  referenced_table_name, '.', referenced_column_name ) AS list_of_fks 
FROM INFORMATION_SCHEMA.key_column_usage 
WHERE referenced_table_schema = 'test' 
  AND referenced_table_name IS NOT NULL 
ORDER BY table_name, column_name;

Gebruik uw schemanaam in plaats van 'test ' hierboven.



  1. PGError:ERROR:aggregaties niet toegestaan ​​in WHERE-clausule op een AR-query van een object en zijn has_many objecten

  2. CSV importeren naar MySQL

  3. MySQL select lijkt erg traag, maar kan niet bedenken hoe te verbeteren?

  4. Hoe verschilt het gebruik van OR in een MySQL-statement precies met/zonder haakjes?