如果我有一个字段的名称,那么知道(查找?)这是否是PK,如果是,那么在哪个表中?
答案 0 :(得分:3)
位于INFORMATION_SCHEMA.TABLE_CONSTRAINTS
中请参阅:
你必须要小心一点。理论上,您可以在不同的表中使用两个具有相同名称的字段,并且该字段是其中一个中的主键。
答案 1 :(得分:3)
使用INFORMATION_SCHEMA视图:
SELECT
T.TABLE_NAME
FROM
INFORMATION_SCHEMA.TABLE_CONSTRAINTS T
INNER JOIN
INFORMATION_SCHEMA.KEY_COLUMN_USAGE K
ON T.CONSTRAINT_NAME = K.CONSTRAINT_NAME
WHERE
T.CONSTRAINT_TYPE = 'PRIMARY KEY'
AND K.COLUMN_NAME = @column_name