Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mencari Kunci Utama Jadual dalam Pelayan SQL Menggunakan Pertanyaan SQL?

Bagaimana untuk Mencari Kunci Utama Jadual dalam Pelayan SQL Menggunakan Pertanyaan SQL?

DDD
Lepaskan: 2025-01-05 19:28:39
asal
451 orang telah melayarinya

How to Find a Table's Primary Key in SQL Server Using SQL Queries?

Mencari Kunci Utama Jadual Menggunakan Pertanyaan SQL dalam Pelayan SQL

Dalam Pelayan SQL, mendapatkan kunci utama jadual menggunakan pertanyaan SQL melibatkan sedikit pendekatan yang berbeza berbanding MySQL. Terokai pilihan pertanyaan berikut untuk mendapatkan maklumat kunci utama:

Pertanyaan Pelayan SQL:

Satu pertanyaan yang biasa digunakan untuk SQL Server ialah:

SELECT name AS PrimaryKey
FROM sysobjects
WHERE xtype = 'PK' AND name IN (
    SELECT name 
    FROM sysindexes 
    WHERE id = object_id(TableName)
)
Salin selepas log masuk

Ganti TableName dengan nama jadual sebenar dalam pertanyaan.

Satu lagi Pertanyaan Pelayan SQL:

Pertanyaan alternatif untuk Pelayan SQL disediakan di bawah:

SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE OBJECTPROPERTY(OBJECT_ID(CONSTRAINT_SCHEMA + '.' + QUOTENAME(CONSTRAINT_NAME)), 'IsPrimaryKey') = 1
AND TABLE_NAME = 'TableName' AND TABLE_SCHEMA = 'Schema'
Salin selepas log masuk

Sekali lagi, gantikan TableName dan Skema dengan nilai yang sesuai.

Pertanyaan Universal untuk MySQL dan SQL Server (Tidak Disyorkan):

Sementara tidak ada persamaan langsung dengan pertanyaan MySQL yang disebut dalam soalan untuk SQL Server, seseorang boleh menggunakan pertanyaan yang lebih kompleks yang sepatutnya berfungsi dalam kedua-dua sistem pangkalan data:

SELECT T.COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS AS T
LEFT JOIN 
    (SELECT DISTINCT C.TABLE_NAME, C.COLUMN_NAME
    FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS U
    JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE AS C
        ON U.TABLE_SCHEMA = C.TABLE_SCHEMA
        AND U.TABLE_NAME = C.TABLE_NAME
        AND U.CONSTRAINT_NAME = C.CONSTRAINT_NAME) AS S
    ON T.TABLE_NAME = S.TABLE_NAME AND T.COLUMN_NAME = S.COLUMN_NAME
WHERE T.TABLE_SCHEMA = 'TableName_Schema' AND T.TABLE_NAME = 'TableName'
Salin selepas log masuk

Walaupun pertanyaan ini mungkin berfungsi dalam kedua-dua MySQL dan SQL Server, ia kurang cekap dan tidak disyorkan untuk prestasi optimum.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Kunci Utama Jadual dalam Pelayan SQL Menggunakan Pertanyaan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan