1. ホーム
  2. sql

[解決済み] SQL Serverです。SQLクエリを使用してテーブルの主キーを取得する[重複]。

2022-04-28 09:19:58

質問

のSQLクエリで、特定のテーブルの主キーを取得したい。 SQLサーバー データベースを使用します。

MySQL 私はテーブルの主キーを取得するために、次のクエリを使用しています。

SHOW KEYS FROM tablename WHERE Key_name = 'PRIMARY'

上記のクエリに相当するものは SQLサーバー ?.

両方のクエリに対応するクエリがある場合 MySQL SQLサーバー であれば、理想的なケースと言えるでしょう。

どのように解決するのですか?

別のものを見つけた。

SELECT 
     KU.table_name as TABLENAME
    ,column_name as PRIMARYKEYCOLUMN
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS TC 

INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS KU
    ON TC.CONSTRAINT_TYPE = 'PRIMARY KEY' 
    AND TC.CONSTRAINT_NAME = KU.CONSTRAINT_NAME 
    AND KU.table_name='YourTableName'

ORDER BY 
     KU.TABLE_NAME
    ,KU.ORDINAL_POSITION
; 

SQL Server 2003/2005でテストしてみました。