[BUG] MySQL error 1071: Specified key was too long;

Gesperrt
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

[BUG] MySQL error 1071: Specified key was too long;

Beitrag von rethus » Do 12. Jun 2008, 16:49

Soeben nach einer Neuinstallation aus den apache-error-Logs gefischt:

Code: Alles auswählen

 /setup/dbupdate.php?step=37 MySQL error 1071: Specified key was too long; max key length is 1000 bytes\n\nALTER TABLE con_properties ADD INDEX (idclient, itemtype , itemid , type, name)
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Di 17. Jun 2008, 09:58

welche contenido version?
welche php version ?
welche mysql version ?
*** make your own tools (wishlist :: thx)

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von rethus » Mi 18. Jun 2008, 08:16

Server Betriebssystem Apache/2.0.53 (Linux/SUSE)
PHP database extension mysql
Datenbankserver-Version 5.0.45
Installierte PHP-Version 5.2.4
Contenido 4.8.4
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mi 18. Jun 2008, 08:30

ich kann mit der meldung nicht wirklich was anfangen...
verschoben...
*** make your own tools (wishlist :: thx)

Roland
Beiträge: 70
Registriert: So 16. Nov 2003, 15:13
Wohnort: Austria
Kontaktdaten:

Beitrag von Roland » Di 26. Aug 2008, 08:08

Hatte gestern das gleiche Problem. Es lag daran, dass es in MySQL eine Beschränkung der Indexlänge gibt (bei mir sind es 500 Byte).
In der Tabelle 'con_properties' wurde die Größe der Felder 'type' und 'name' anscheinend von 64 auf 96 erhöht, wodurch dann beim Index 'idclient' die erlaubte Länge überschritten wurde.
Umgehen kann man das auf die Schnelle indem man die Tabelle manuell anlegt und die Feldgrößen für 'type' und 'name' auf einen entsprechend niedrigeren Wert setzt. Das sollte eigentlich ohne größere Probleme funktionieren. Bei mir sind die Werte in den beiden Feldern jedenfalls weit von der Länge 96 entfernt.

Code: Alles auswählen

CREATE TABLE `con_properties` (
  `idproperty` int(10) NOT NULL default '0',
  `idclient` int(10) NOT NULL default '0',
  `itemtype` varchar(64) NOT NULL,
  `itemid` varchar(255) NOT NULL,
  `type` varchar(96) NOT NULL,
  `name` varchar(96) NOT NULL,
  `value` text NOT NULL,
  `author` varchar(32) NOT NULL,
  `created` datetime NOT NULL default '0000-00-00 00:00:00',
  `modified` datetime NOT NULL default '0000-00-00 00:00:00',
  `modifiedby` varchar(32) NOT NULL,
  PRIMARY KEY  (`idproperty`),
  KEY `idclient` (`idclient`,`itemtype`,`itemid`,`type`,`name`),
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
der techniker ist das kamel auf dem der kaufmann zum erfolg reitet.

timo.trautmann_4fb
Beiträge: 472
Registriert: Di 15. Apr 2008, 15:57
Wohnort: Michelstadt
Kontaktdaten:

Beitrag von timo.trautmann_4fb » Di 26. Aug 2008, 14:21

Das ist richtig, dass man normalerweise eine so lange Länge nicht benötigt. Der Tiny kann jedoch auch über diese Einstellungen konfiguriert werden. Einige Identifier der Tiny Einstellungen überschreiten jedoch die 64 Zeichen, so dass diese nicht mehr gesetzt werden konnten. Aus diesem Grund wurde das Feld erweitert. Normalerweise sollte es keine Probleme damit geben. Werde mir aber Gedanken dazu machen, ob man nicht einfach den Index aufteilen kann.

timo.trautmann_4fb
Beiträge: 472
Registriert: Di 15. Apr 2008, 15:57
Wohnort: Michelstadt
Kontaktdaten:

Beitrag von timo.trautmann_4fb » Di 26. Aug 2008, 14:41

Als Problemlösung werde ich den Kombiindex zerteilen checkin für nächste Version.

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Re: [BUG] MySQL error 1071: Specified key was too long;

Beitrag von Halchteranerin » So 10. Jul 2011, 18:42

Hmm, da habe ich nun das Thema wieder entsperrt. Ich wollte endlich mal eine Site von 4.4.5 auf 4.8.15 upgraden. Ich habe dazu die Datenbank auf dem Server exportiert, lokal importiert, auch alle Dateien heruntergeladen, und mit dem Zwischenschritt 4.6.24 hat auch alles wunderbar geklappt. Es hagelte zunächst im Backend-Editor an Fehlermeldungen, aber es lag an einem falschen Pfad, Fehler korrigiert, alles wunderbar. Dann wollte ich wieder zurück auf den Server. Ich habe die Datenbank komplett geleert (Backup existiert, natürlich), nur als ich die lokal exportierte DB auf dem Server importieren wollte, erhielt ich das:

Code: Alles auswählen

CREATE TABLE IF NOT EXISTS `con_properties` (
`idproperty` int( 10 ) NOT NULL DEFAULT '0',
`idclient` int( 10 ) NOT NULL DEFAULT '0',
`itemtype` varchar( 64 ) NOT NULL ,
`itemid` varchar( 255 ) NOT NULL ,
`type` varchar( 96 ) NOT NULL ,
`name` varchar( 96 ) NOT NULL ,
`value` text NOT NULL ,
`author` varchar( 32 ) NOT NULL ,
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`modifiedby` varchar( 32 ) NOT NULL ,
PRIMARY KEY ( `idproperty` ) ,
KEY `idclient` ( `idclient` , `itemtype` , `itemid` , `type` , `name` ) ,
KEY `index_client` ( `idclient` ) ,
KEY `index_itemtype` ( `itemtype` ) ,
KEY `index_itemid` ( `itemid` ) ,
KEY `index_type` ( `type` )
) TYPE = MYISAM ;

MySQL meldet: Dokumentation
#1071 - Specified key was too long. Max key length is 500 
Als ich im Forum danach suchte, stieß ich auf diesen Beitrag. Angeblich soll das behoben worden sein, offensichtlich gibt es immer noch (oder wieder?) Probleme damit. Fürs Erste habe ich itemid auf varchar( 234) gesetzt, halt so, dass die Summe 500 ergibt, aber das Wahre ist es nicht. :roll:

Jouuuuuuuuuuuuuuuuu. :twisted: "You need PHP >= 5.0.0 for Contenido. Sorry, even the setup doesn't work otherwise. Your version: 4.4.9-nmm4".
Jetzt soll ich per E-Mail die Umstellung auf php5 beantragen, und über Nacht wird das erledigt, also bleibt nur zu hoffen, dass morgen der Rest auch noch klappt. :roll:
Bitte keine unaufgeforderten Privatnachrichten mit Hilfegesuchen schicken. WENN ich helfen kann, dann mache ich das im Forum, da ich auch alle Postings lese. PN werden nicht beantwortet!

Gesperrt