02. november 2005 - 22:31Der er
11 kommentarer og 1 løsning
Error #1264 - Hvorfor?
Hej hej
Efter en komplet re-installation af windows, besluttede jeg at opgradere MySQL, PHP og Apache ved samme lejlighed. Nu får jeg desværre en fejl hver gang jeg prøver at indsætte noget i en database. Jeg kan sagtens få lov til at oprette nye databaser, men som sagt kan jeg ikke indsætte noget i dem.
Fejlen jeg får er "Error #1264 - "Out of range value adjusted for column 'id' at row 1".
"id" er sat til INT(5), Prim.Key og auto increment, så jeg kan ikke helt gøre mig klog på hvad der er galt. HJÆLÅ!!! ;-)
Du må ikke specificere auto_increment kolonnen med MySQL 5 - eller også må du, men du må ikke specificere '', selvom værdien skal ignoreres. Jeg er ikke helt sikker på hvilken af delene der er tilfældet, men det nemmeste er at udelade auto_increment kolonnen.
Nej, den er slet ikke værdiløs - du skal blot undlade at specificere den kolonne når du tildeler en værdi. (Dette bør du nu gøre alligevel, da der ikke er nogen grund til at have den der - det du angiver skal jo alligevel ikke bruges :))
Alternativt kan du vælge at deaktivere de Strict modes der er aktiverede som standard. Jeg kan ikke lige huske hvad kommandoen er, men jeg skulle mene den står et sted i manualen.
Jeg spørger fordi at normalt ville jeg indsætte med dit eks men hvis du læser i manualen på mysql 5 ser det ud til at være forkert i dag. man skal indsætte det sådan her INSERT INTO `categories` (`id` , `name`) VALUES('Ordbøger')
Det er præcist det der skaber problemet. Mit bud er at den kontrollerer den værdi du har angivet FØR den ser at værdien blot skal smides væk grundet auto_increment. Fordi Strict Mode er aktiveret som standard, giver dette en fejl i stedet for den warning man normalt ville få (hvis jeg husker rigtigt).
Men igen, så er der jo ingen grund til at skrive det felt med i sin query, når nu den fint kan finde ud af at tælle op uden ;)
I har principielt begge svaret på mit spørgsmål (takker mange gange), men pidgeot var først ude, så poster du ikke lige et svar? Håber det er ok, fn1977 ;-)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.