sql选择列为键的列名

时间:2011-12-13 16:30:33

标签: sql

使用此查询,

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.Columns where TABLE_NAME <table>

如何修改它以仅选择作为主键的列名?或任何类型的钥匙?

首选使用相同类型的选择。

1 个答案:

答案 0 :(得分:2)

SELECT *
FROM INFORMATION_SCHEMA.Table_Constraints tc
    JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu
        ON tc.TABLE_NAME = kcu.TABLE_NAME
            AND tc.TABLE_SCHEMA = kcu.TABLE_SCHEMA
            AND tc.TABLE_CATALOG = kcu.TABLE_CATALOG
            AND tc.CONSTRAINT_NAME = kcu.CONSTRAINT_NAME
WHERE tc.TABLE_NAME = 'table_name'