SQL Server:使用 sql 查询获取表主键 [英] SQL Server: Get table primary key using sql query

查看:67
本文介绍了SQL Server:使用 sql 查询获取表主键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用 SQL Server 数据库的 SQL 查询获取特定表的主键.

I want to get a particular table's primary key using SQL query for SQL Server database.

MySQL 中,我使用以下查询来获取表主键:

In MySQL I am using following query to get table primary key:

SHOW KEYS FROM tablename WHERE Key_name = 'PRIMARY'

什么是上述 SQL Server 查询的等价物?.

What is equivalent of above query for SQL Server ?.

如果有一个查询同时适用于 MySQLSQL Server 那么这将是一个理想的情况.

If There is a query that will work for both MySQL and SQL Server then It will be an ideal case.

推荐答案

找到另一个:

SELECT 
     KU.table_name as TABLENAME
    ,column_name as PRIMARYKEYCOLUMN
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS TC 

INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS KU
    ON TC.CONSTRAINT_TYPE = 'PRIMARY KEY' 
    AND TC.CONSTRAINT_NAME = KU.CONSTRAINT_NAME 
    AND KU.table_name='YourTableName'

ORDER BY 
     KU.TABLE_NAME
    ,KU.ORDINAL_POSITION
; 

我已经在 SQL Server 2003/2005 上测试过了

I have tested this on SQL Server 2003/2005

这篇关于SQL Server:使用 sql 查询获取表主键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆