繁体   English   中英

SQL Server 2005-如何知道字段是否为主键?

[英]SQL Server 2005 - how to know if a field is a Primary Key?

如果我有一个字段的名称,是否可以知道(查找?)这是否是PK,以及在哪个表中是否这样?

它在INFORMATION_SCHEMA.TABLE_CONSTRAINTS中

看到:

http://sqlserverpedia.com/blog/transact-sql-t-sql/how-do-i-select-the-field-name-primary-key-from-all-tables/

您必须谨慎一点。 从理论上讲,您可以在不同的表中有两个具有相同名称的字段,并且该字段是其中一个的主键。

使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM