特定のデータベース上の指定されたキー/キー名ですべてのテーブルを取得できるクエリを探しています。このような 何か:データベース内のすべてのテーブルをプライマリキーで検索
SELECT table_name
FROM information_Schema.columns
WHERE column_name='ID_UNICO'
AND Constraint_Type = 'PRIMARY KEY'
私が検索してきたと私は見つけることができる最高だった:
SELECT Col.Column_Name from
INFORMATION_SCHEMA.TABLE_CONSTRAINTS Tab,
INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE Col
WHERE
Col.Constraint_Name = Tab.Constraint_Name
AND Col.Table_Name = Tab.Table_Name
AND Constraint_Type = 'PRIMARY KEY'
AND Col.Table_Name = '<your table name>'
これは、特定のテーブルのPK年代を取得し、私はPK名でTABLE_NAMEを見つけたいです。
SELECT table_name
FROM information_Schema.columns
WHERE column_name='ID_UNICO'
and ordinal_position = 1;
これもこれが見つかりましたが、これは私にそれがPKであることを保証しないテーブルの最初の列を与えます。
重複も見つかりませんでした。
あなたの助けていただきありがとうございます、短くて簡単です!実際にはそれほど複雑ではないので、これを最善の答えとしなければならなかった。 –
よろしくお願いします!私は喜んでお手伝いします。 –