sql >> Databasteknik >  >> RDS >> Mysql

Hitta information om främmande nyckel med Perl/DBI/MySQL/InnoDB

Det verkar som om det kanske inte stöds av mysql-drivrutinen ännu. Om du gör en snabb kontroll genom felsökning, ser det ut som att följande sql-sats skrivs in:

SELECT NULL AS PKTABLE_CAT,
   A.REFERENCED_TABLE_SCHEMA AS PKTABLE_SCHEM,
   A.REFERENCED_TABLE_NAME AS PKTABLE_NAME,
   A.REFERENCED_COLUMN_NAME AS PKCOLUMN_NAME,
   A.TABLE_CATALOG AS FKTABLE_CAT,
   A.TABLE_SCHEMA AS FKTABLE_SCHEM,
   A.TABLE_NAME AS FKTABLE_NAME,
   A.COLUMN_NAME AS FKCOLUMN_NAME,
   A.ORDINAL_POSITION AS KEY_SEQ,
   NULL AS UPDATE_RULE,
   NULL AS DELETE_RULE,
   A.CONSTRAINT_NAME AS FK_NAME,
   NULL AS PK_NAME,
   NULL AS DEFERABILITY,
   NULL AS UNIQUE_OR_PRIMARY
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE A,
   INFORMATION_SCHEMA.TABLE_CONSTRAINTS B
WHERE A.TABLE_SCHEMA = B.TABLE_SCHEMA AND A.TABLE_NAME = B.TABLE_NAME
   AND A.CONSTRAINT_NAME = B.CONSTRAINT_NAME AND B.CONSTRAINT_TYPE IS NOT NULL
   AND A.TABLE_NAME = ? ORDER BY A.TABLE_SCHEMA, A.TABLE_NAME, A.ORDINAL_POSITION

Observera att kolumnerna UPDATE_RULE och DELETE_RULE båda är inställda på NULL.




  1. Skapa en ny Ruby on Rails-applikation med MySQL istället för SQLite

  2. Fortsätt SQL-fråga även vid fel i MySQL-arbetsbänken

  3. Importera InnoDB-partitioner i MariaDB 10.0/10.1

  4. CONVERT() vs TRY_CONVERT i SQL Server:Vad är skillnaden?