sql >> Database >  >> RDS >> Mysql

Vind informatie over externe sleutels met Perl/DBI/MySQL/InnoDB

Het lijkt erop dat het nog niet wordt ondersteund door het mysql-stuurprogramma. Bij een snelle controle via debug lijkt het alsof de volgende sql-instructie wordt ingevoerd:

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

Merk op dat de kolommen UPDATE_RULE en DELETE_RULE beide zijn ingesteld op NULL.




  1. login mislukt voor gebruiker 'sa'. De gebruiker is niet gekoppeld aan een vertrouwde SQL Server-verbinding. (Microsoft SQL Server, fout:18452) in sql 2008

  2. Geef handmatig de waarde van een primaire sleutel op in de kolom JPA @GeneratedValue

  3. Vervang meerdere tekens in een tekenreeks in SQL Server (T-SQL)

  4. MySQL IN-query's vreselijk traag met subquery maar snel met expliciete waarden