phpbar.de logo

Mailinglisten-Archive

Specified key was too long. Max key length is 500

Specified key was too long. Max key length is 500

Ralf Geschke mysql_(at)_lists.phpcenter.de
Wed, 23 May 2001 23:53:03 +0200


> 
> bei der eingabe untenstehenden sql befehls in phpMyAdmin 2.1.0 auf MySQL
> 3.23.26 (kein telnet zugang moeglich) bekomme ich die fehlermeldung
> "Specified key was too long. Max key length is 500".

Die Fehlermeldung ist doch recht eindeutig. ;-)

> url VARCHAR (255)  not null,
> previewUrl VARCHAR (255)  not null,
> UNIQUE (url, previewUrl))

> aendere ich alle "VARCHAR (255)" auf "VARCHAR (250)" funktioniert es. gibt
> es eine erklaerung dafuer?

255 + 255 > 500 
250 + 250 = 500

Die Keys duerfen nur eine bestimmte Groesse annehmen - bei Deiner
Installation ist dies wohl eine Laenge von 500 Zeichen. 

Empfehlung: Schraenke die Laenge der Indizes ein, z.B.:
unique (url(30), previewUrl(30))

Sollte eigentlich reichen und spart nebenbei noch Speicherplatz.
Die Laenge der Felder kann damit dann auch bei 255 bleiben.  

Beste Gruesse,
   Ralf

---
*** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive