簡體   English   中英

從PHP獲取MySQL主鍵和外鍵約束?

[英]Get MySQL primary key and foreign keys constraints from PHP?

我正在使用PDO / PHP / MySQL構建與Smarty集成的數據網格應用程序。

有沒有一種快速方便的方法(使用數據庫模式或某些PDO命令)在PHP中獲取:

  • 表的主鍵
  • 表的外鍵約束列表?

(我使用InnoDB作為架構)。

您可以通過查詢information_schema表來獲取關鍵信息:

SELECT * 
FROM information_schema.KEY_COLUMN_USAGE 
WHERE REFERENCED_TABLE_NAME = 'my_table_name'

MySQL:如何查找所有具有引用特定table.column的外鍵並具有這些外鍵值的表?

您可以使用SHOW TABLE獲取主鍵:

SHOW INDEX FROM my_table_name 
WHERE key_name = 'PRIMARY'

MySQL:動態確定表的主鍵

在具有大量數據庫/表的服務器上,查詢information_schema表可能很慢。

您可以使用它來加快速度:

SET GLOBAL innodb_stats_on_metadata = 0

http://www.mysqlperformanceblog.com/2011/12/23/solving-information_schema-slowness/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM