为了账号安全,请及时绑定邮箱和手机立即绑定

如何列出SQL Server表的主键?

如何列出SQL Server表的主键?

森林海 2019-09-24 15:04:03
一个简单的问题,如何使用T-SQL列出表的主键?我知道如何获取表上的索引,但不记得如何获取PK。
查看完整描述

3 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

SELECT Col.Column_Name from 

    INFORMATION_SCHEMA.TABLE_CONSTRAINTS Tab, 

    INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE Col 

WHERE 

    Col.Constraint_Name = Tab.Constraint_Name

    AND Col.Table_Name = Tab.Table_Name

    AND Constraint_Type = 'PRIMARY KEY'

    AND Col.Table_Name = '<your table name>'


查看完整回答
反对 回复 2019-09-24
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

现在通常建议您在SQL Server中使用sys.*视图INFORMATION_SCHEMA,因此,除非您打算迁移数据库,否则我将使用这些视图。使用sys.*视图的方法如下:


SELECT 

    c.name AS column_name,

    i.name AS index_name,

    c.is_identity

FROM sys.indexes i

    inner join sys.index_columns ic  ON i.object_id = ic.object_id AND i.index_id = ic.index_id

    inner join sys.columns c ON ic.object_id = c.object_id AND c.column_id = ic.column_id

WHERE i.is_primary_key = 1

    and i.object_ID = OBJECT_ID('<schema>.<tablename>');


查看完整回答
反对 回复 2019-09-24
  • 3 回答
  • 0 关注
  • 692 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信