在 SQL Server 中检索具有主键约束的列信息
获取表中的列及其数据类型和 NOT NULL 的列表约束是一项常见任务。但是,您可能还需要确定哪些列是主键。本文介绍如何扩展现有查询以包含此信息。
扩展查询
要将主键信息合并到您的查询中,请使用以下扩展:
LEFT OUTER JOIN sys.index_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id LEFT OUTER JOIN sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id
附加栏
此扩展向输出添加附加列,在预期输出中指示为“主键”:
Column Name | Data Type | Length | isNull | Primary Key |
---|---|---|---|---|
... | ... | ... | ... | ... |
如果列是主键,则“主键”列将显示 TRUE;
完整查询
带有主键扩展的完整查询如下:
SELECT c.name 'Column Name', t.Name 'Data type', c.max_length 'Max Length', c.precision , c.scale , c.is_nullable, ISNULL(i.is_primary_key, 0) 'Primary Key' FROM sys.columns c INNER JOIN sys.types t ON c.user_type_id = t.user_type_id LEFT OUTER JOIN sys.index_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id LEFT OUTER JOIN sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id WHERE c.object_id = OBJECT_ID('YourTableName')
替换 ' YourTableName' 与您的实际表名称以检索所需的信息。
以上是如何在 SQL Server 中检索包括主键约束的列信息?的详细内容。更多信息请关注PHP中文网其他相关文章!