SQL数据库查看所有外键

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL数据库查看所有外键相关的知识,希望对你有一定的参考价值。

我正在尝试查看数据库的所有外键,并且我有以下代码可以做到这一点:

SELECT 
  tc.TABLE_NAME,
  sc.COLUMN_NAME,
  CONSTRAINT_NAME,
  CONSTRAINT_TYPE
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS as tc
inner join INFORMATION_SCHEMA.COLUMNS as sc
on sc.TABLE_NAME = tc.TABLE_NAME
order by tc.TABLE_NAME

但是似乎给出的结果超出预期。它给出大约30.000的结果,并且应该不超过2000。我在做什么错。PS:我需要它返回表名,列名,列ID和约束类型,以在Laravel应用程序中进一步实现。

答案

我认为这里最好的选择是使用EXEC sp_fkeys 'TableName'。请查看此以获取更多详细信息

以上是关于SQL数据库查看所有外键的主要内容,如果未能解决你的问题,请参考以下文章

sql 列出数据库中的所有外键

对于所有外键,如何在 SQL 中将数据类型从 32 位整数升级到 64 位整数?

数据库外键的查看与删除

在SQL Server数据库中查找所有外键

如何在 SQL Server 中列出所有带有“WITH NOCHECK”的外键

复制 SQL 数据库并修复外键