Heim >Datenbank >MySQL-Tutorial >Wie finde ich den Primärschlüssel einer Tabelle in SQL Server mithilfe von SQL-Abfragen?
Ermitteln des Primärschlüssels einer Tabelle mithilfe von SQL-Abfragen in SQL Server
In SQL Server erfordert das Abrufen des Primärschlüssels einer Tabelle mithilfe einer SQL-Abfrage einen geringfügigen Aufwand anderer Ansatz als MySQL. Entdecken Sie die folgenden Abfrageoptionen, um Primärschlüsselinformationen abzurufen:
SQL Server-Abfrage:
Eine häufig verwendete Abfrage für SQL Server ist:
SELECT name AS PrimaryKey FROM sysobjects WHERE xtype = 'PK' AND name IN ( SELECT name FROM sysindexes WHERE id = object_id(TableName) )
Ersetzen Sie TableName durch den tatsächlichen Tabellennamen in der Abfrage.
Ein anderer SQL Server Abfrage:
Eine alternative Abfrage für SQL Server finden Sie unten:
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'
Ersetzen Sie TableName und Schema erneut durch entsprechende Werte.
Universal Abfrage für MySQL und SQL Server (nicht empfohlen):
Es gibt zwar kein direktes Äquivalent der in der Frage erwähnten MySQL-Abfrage für Mit SQL Server kann eine komplexere Abfrage verwendet werden, die in beiden Datenbanksystemen funktionieren sollte:
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'
Obwohl diese Abfrage möglicherweise sowohl in MySQL als auch in SQL Server funktioniert, ist sie weniger effizient und wird für eine optimale Leistung nicht empfohlen.
Das obige ist der detaillierte Inhalt vonWie finde ich den Primärschlüssel einer Tabelle in SQL Server mithilfe von SQL-Abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!