在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? –