我想使用针对SQL Server数据库的SQL查询来获取特定表的主键。
在MySQL中,我使用以下查询来获取表主键:
SHOW KEYS FROM tablename WHERE Key_name = 'PRIMARY'
什么是上述SQL Server查询的等效项?
如果存在一个对MySQL和SQL Server都适用的查询,那么这将是一个理想的情况。
找到了另一个:
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上对此进行了测试