Hmm har ingen som helst koll!
Har då inga problem med att skapa denna tabell på min MySQL-server.
Vilken version på MySQL? Min är 4.0 och det funkade!
Så jag vet inte..
5 svar · 275 visningar · startad av haider
Felmeddelandet lyder enligt: “#1071 - Specified key was too long; max key length is 1000 bytes”
Och så här ser frågan ut:
CREATE TABLE `varukorg` (
`id` varchar(64) NOT NULL default '',
`description` varchar(255) NOT NULL default '',
`price` double default NULL,
`weight` double default NULL,
`session_autoid` int(11) NOT NULL default '0',
`internal_id` varchar(128) NOT NULL default '',
`amount` int(11) default '1',
`vat` double default NULL,
`universal1` varchar(128) default NULL,
`universal2` varchar(128) default NULL,
`universal3` varchar(128) default NULL,
PRIMARY KEY (`description`,`session_autoid`,`internal_id`)
) TYPE=MyISAM;
Vad gör jag fel?
Hmm har ingen som helst koll!
Har då inga problem med att skapa denna tabell på min MySQL-server.
Vilken version på MySQL? Min är 4.0 och det funkade!
Så jag vet inte..
Kör version 5.0.19
Menar du att du testade på din?
Kan det vara nån inställning nånstans, som inte tillåter nån viss key length?
Din key är för lång .. max längd är 1000bytes ..
Verkar som du har utf8 teckenkodning => varje tecken = 3bytes .. dvs 333 tecken är max som key, din är längre varför du får det problemet.
Testa vilket charset du har med mysql_client_encoding().
En lösning är att du kortar ner längden på dina kolumner som du har key på lr byter till latin1 charset.
/red typo.
jag får undersöka närmare med den som ligger bakom koden.
När jag ändrade till 204 så funkade det.
Det var uppenbarligen längden som strulade. Jag vet inte om jag ska byta ut utf8, eller om jag ska nöja mig med 204 i längd.
Hur tolkar jag 204 tecken - är det så många tecken som ett visst fält får lov att ha?