2012-04-18 203 views
3

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

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

回答

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() 

来源:https://github.com/troelskn/pdoext/blob/master/lib/pdoext/connection.inc.php#L413(特别是loadKeys功能)

+0

谢谢你,仅此而已。感谢您的链接,非常有帮助! – 2012-04-18 12:15:59

1

可以使用MySQL命令:

SHOW CREATE TABLE mytable 
+0

谢谢!它也有帮助。 – 2012-04-18 12:15:50