用PHP获取外键

Iza*_*a_U 3 php mysql innodb foreign-keys relational-database

我正在PHP中创建一个类,我只有表名的参数并获取所有列和值.但我不知道如何获得带有外键的列的值.
那是因为我不知道哪个表是相关的.

我需要一种方法,我可以从已知的表中获取带有PHP或SQL的外键吗?

tro*_*skn 5

在MySql中,您可以查询information_schema以获取有关数据库的元信息.

SELECT
  TABLE_NAME AS `table_name`,
  COLUMN_NAME AS `column_name`,
  REFERENCED_COLUMN_NAME AS `referenced_column_name`,
  REFERENCED_TABLE_NAME AS `referenced_table_name`
FROM information_schema.KEY_COLUMN_USAGE
WHERE TABLE_SCHEMA = DATABASE()
  AND REFERENCED_TABLE_SCHEMA = DATABASE()
Run Code Online (Sandbox Code Playgroud)

来自:https://github.com/troelskn/pdoext/blob/master/lib/pdoext/connection.inc.php#L413(具体loadKeys功能)