在Microsoft SQL,如果我想获得其中具有一定的列名的列会出现在我的数据库中的信息,我可以运行此查询:如何在Microsoft SQL中查找具有特定列名的主键?
select * from information_schema.columns where column_name = 'XXXXX';
该查询返回了丰富的实例,其中信息出现一个带名称的列,但我没有看到有关引用约束的任何内容。
我尝试下面的一些其他查询,但没有似乎得到我想要的信息:
select * from INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
select * from INFORMATION_SCHEMA.TABLE_CONSTRAINTS
select * from INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
我想写一个查询,会做这样的事情:
select table_schema, table_name from INFORMATION_SCHEMA.COLUMNS
where column_name = 'XXXXX' and IsPrimaryKey = 1;
编辑:有人建议这个问题重复一个关于查找给定表的主键的问题。这个问题是相关的,但不同,因为我开始知道列的名称(可能出现在许多表中),我想知道是否有一个具有相同名称的主键列的表。
如果您的PRIMARY_KEY是聚簇键,那么它就是表。 – DVT
http://stackoverflow.com/questions/3930338/sql-server-get-table-primary-key-using-sql-query – SQLChao
什么版本的SQL Server? –