[英]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.