小编典典

SQL Server:使用sql查询获取表主键

sql

我想使用针对SQL Server数据库的SQL查询来获取特定表的主键。

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

SHOW KEYS FROM tablename WHERE Key_name = 'PRIMARY'

什么是上述SQL Server查询的等效项?

如果存在一个对MySQL和SQL Server都适用的查询,那么这将是一个理想的情况。


阅读 257

收藏
2021-04-15

共1个答案

小编典典

找到了另一个:

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上对此进行了测试

2021-04-15