【问题标题】:Finding the primary key table name in SQL server [duplicate]在 SQL Server 中查找主键表名 [重复]
【发布时间】:2015-11-09 16:02:15
【问题描述】:

我对复合主键有疑问。有了表的名称,我需要知道哪些列是外键,并且我需要知道它们相关的表的名称。 如果不是因为相关表具有复合主键,这将很容易。

样本:

Table Fruits
[pk] FruitId
[pk] OwnerId
     Name 

Table Desserts
[pk] DessertId
     Name
[fk] FruitId
[fk] OwnerId

鉴于上述情况,我需要查询 sql "给我一个表 Desserts 中具有 fk 关系的列的列表,并告诉我它所涉及的表和列的名称。

感谢您提供的任何帮助!

【问题讨论】:

  • @DanBracuk 但标题中写的是 SQL Server
  • 虽然stackoverflow.com/questions/95967/… 中接受的答案还不够,但 DekDev 在同一问题中提供的答案确实让我了解了复合键的详细信息。

标签: sql sql-server composite


【解决方案1】:

使用此命令获取详细信息,它返回表名及其主键、外键表名、列名以及许多其他详细信息:

EXEC sp_fkeys 'MyTable'

How can I list all foreign keys referencing a given table in SQL Server?

【讨论】:

  • 对不起,没有。这没有为我的桌子返回任何东西
  • 您在 SQL Server Management Studio 中选择了什么数据库?如果它被设置为默认的“master”数据库,那么当你执行上面的命令时它不会返回任何东西。确保选择您的数据库。
猜你喜欢
  • 2011-04-25
  • 2021-05-07
  • 2017-09-21
  • 1970-01-01
  • 2021-01-05
  • 1970-01-01
  • 2017-12-20
  • 2022-01-17
  • 2023-03-31
相关资源
最近更新 更多