dedlfix: Specified key was too long; max key length is 1000 byte

Beitrag lesen

Hi!

Aber angenommen ich brauche volle 255 für eine Spalte oder sogar für beide.
Dann könnte man den Prefix so kürzen?
ALTER TABLE option ADD UNIQUE ( [...]

Prefix? Meinst du Index?
Den Index so zu kürzen ginge, aber dann leidet auch dein Unique darunter, denn das wird ja nun nur noch auf den String-Anfang kontrolliert.

Dann könnte man trotzdem einen String mit 255 Zeichen einfügen?
Würde dann der Index aber nur 100 Zeichen berücksichtigen?

Ja und ja. Du kannst solche Anworten auch durch Ausprobieren finden. Dabei erfährst du auch gleich noch wie die Reaktion des DBMS darauf aussieht (inklusive Fehlermeldungstext).

Ich frage deshalb weil ich einen Insert IGNORE überlege der alle 3 Spalten berücksichtigt. Dann wäre ja wichtig das alle Zeichen überprüft werden.

Ja. Das geht dann mit dem Index nicht.

Lo!