Heim >Datenbank >MySQL-Tutorial >Warum schlägt mein SQL-Index aufgrund von Einschränkungen der Schlüsselspaltenlänge fehl?
Beschränkung der Schlüsselspaltenindexlänge in SQL
Die Fehlermeldung „Spalte ‚Schlüssel‘ in Tabelle ‚misc_info‘ ist von einem solchen Typ „ungültig für die Verwendung als Schlüsselspalte in einem Index“ zeigt an, dass die Länge der Schlüsselspalte die maximal zulässige Länge für einen Index überschreitet.
Die maximale Länge eines Die Indexspalte hängt vom verwendeten Datentyp ab. Für den Datentyp nvarchar beträgt die maximale Länge 450 Zeichen. Dies liegt daran, dass eine eindeutige Einschränkung für Nvarchar-Spalten 8000 Byte pro Zeile nicht überschreiten darf und nur die ersten 900 Byte verwendet werden.
Um dieses Problem zu beheben, reduzieren Sie die Länge der Schlüsselspalte auf maximal 450 Charaktere. Die folgende modifizierte SQL-Anweisung erstellt eine Tabelle mit einer Schlüsselspalte von nvarchar(450):
create table [misc_info] ( [id] INTEGER PRIMARY KEY IDENTITY NOT NULL, [key] nvarchar(450) UNIQUE NOT NULL, [value] nvarchar(max) NOT NULL );
Erwägen Sie nach Möglichkeit den Wechsel zu varchar anstelle von nvarchar, wodurch die maximale Länge auf 900 Zeichen erhöht werden kann.
Das obige ist der detaillierte Inhalt vonWarum schlägt mein SQL-Index aufgrund von Einschränkungen der Schlüsselspaltenlänge fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!