Beim Erstellen eines eindeutigen Index für eine Tabelle kann der Fehler „Spalte ‚[Schlüssel]‘ in“ auftreten Tabelle „[Tabelle]“ ist von einem Typ, der für die Verwendung als Schlüsselspalte in einem Index ungültig ist.“ Dieser Fehler tritt normalerweise auf, wenn der Datentyp der für den Index angegebenen Spalte zu groß ist.
Die typische Ursache für diesen Fehler ist ein Indexschlüssel mit einer maximalen Länge, die größer ist die zulässige Grenze. In Microsoft SQL Server beträgt die maximale Länge für einen Indexschlüssel 900 Byte.
Um dieses Problem zu beheben, sollten Sie die maximale Länge der Schlüsselspalte reduzieren. In Ihrem Fall ist die Schlüsselspalte als nvarchar(max) definiert, was eine unbegrenzte Länge ermöglicht. Für Indexschlüssel ist es ratsam, einen begrenzten Datentyp wie nvarchar(450) zu verwenden, der sicherstellt, dass die Länge des Indexschlüssels innerhalb der zulässigen Grenzen liegt.
Hier ist eine aktualisierte Tabellendefinition, bei der die Schlüsselspalte auf 450 begrenzt ist Zeichen:
CREATE TABLE [misc_info] ( [id] INTEGER PRIMARY KEY IDENTITY NOT NULL, [key] NVARCHAR(450) UNIQUE NOT NULL, [value] NVARCHAR(MAX) NOT NULL );
Durch diese Anpassung stellen Sie sicher, dass die Schlüsselspalte die Größenanforderungen für erfüllt einen Indexschlüssel, der den Fehler behebt.
Das obige ist der detaillierte Inhalt vonWarum schlägt mein eindeutiger Index mit „Ungültiger Schlüsselspaltentyp' fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!