[英]Checking foreignkey constraints MySQL
我需要檢查架構上的外鍵約束。 我需要表名,列名,引用的架構,引用的表和引用的列。 Google搜索告訴我可以使用information_schema做到這一點。 我對此方法有些懷疑。
是否有其他方法可以檢查外鍵約束? 使用SHOW CREATE TABLE和比較查詢似乎不是一個好主意。
我的應用程序將使用C#(Connector:ODBC)進行編碼。 我知道有一個.NET MySQL連接器,它為getschema方法提供外鍵列集合(http://dev.mysql.com/doc/refman/5.0/en/connector-net-programming-connecting-connection-string。 HTML#連接網編程-的getSchema)。 有人知道它是否也使用information_schema嗎?
我真的可以在這里使用一些幫助。
問候,
信息模式是否可靠?
考慮到information_schema是一個系統數據庫,其中包含有關所有數據庫的信息,因此任何查詢都將花費更長的時間。 對?
這取決於您如何查詢它們。 嘗試show indexes
以查看可用索引。
是否有其他方法可以檢查外鍵約束? 使用SHOW CREATE TABLE和比較查詢似乎不是一個好主意。
從理論上講, show create table
以稍微不同的方式查詢information_schema。
在實踐中,並進一步引用第二個鏈接,兩者之間返回的某些信息可能不一致:
create table rolando (num int not null, primary key (num) using hash);
mysql> show create table rolando\G
(...)
PRIMARY KEY (`num`) USING HASH
mysql> show indexes from rolando;
(...) | Index_type | (...)
(...) | BTREE | (...)
最后,請參閱:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.