2014-06-05 176 views
1

有沒有辦法使用PHP的PDO獲取數據庫元數據。獲取數據庫元數據PHP/PDO

我正在尋找類似於Java JDBC DatabaseMetadata接口的東西。

我感興趣的是檢索給定表的外鍵列表,但我不希望解決方案綁定到任何特定的DBMS。

我到目前爲止發現的是ANSI/ISO SQL:2003 standrad的information_schema並存儲了這些元數據,但我不確定所有的RDBMSs是否符合它,並且通常SQL免費解決方案(如JAVA DatabaseMetadata)會更可取。

感謝您的任何輸入,

回答

0

我不知道,如果他們是平等的,但對於MSSQL你也INFORMATION_SCHEMA,我不知道其他DBMS也有相同的模式

http://msdn.microsoft.com/en-us/library/aa933204%28SQL.80%29.aspx

你也有這些提供有關數據庫的結構信息

http://dev.mysql.com/doc/refman/5.0/en/explain.html

http://dev.mysql.com/doc/refman/5.0/en/show-index.html

但這並不再次所有其他DBMS工作(JDBS使用說明,而不是說明)

,所以我想沒有檢索多個DBMS數據庫結構單一/一致的方式,也許你可以不從數據庫中提取結構,而是從應用程序中的模型中提取結構?

0

這似乎是一個相當嚴重的事情,缺乏PHP PDO ...而getColumnMeta仍然是「實驗性」的。

只是一個想法:它不是優雅的,但它可能是在四肢,你真的真的想或需要儘可能多的dbase或列元數據poss的東西:使用PHP exec()來運行(對於MySQL):

mysqldump -d -h localhost -u username -ppwd databasename > dumpfile.sql 

然後檢查dumpfile.sql。顯然,你必須找到其他DBMS類似的命令...