07. februar 2009 - 21:40Der er
10 kommentarer og 1 løsning
Problemer med null værdi ved int
Jeg er ved at opsætte en MySQL database i phpMyAdmin.
På min hjemmeside har jeg en form, der tilføjer i MySQL database. Hvis et felterne i formen er tomt, og der trykkes på tilføj, får jeg fejlen:
Microsoft OLE DB Provider for ODBC Drivers error '80040e31' [MySQL][ODBC 3.51 Driver][mysqld-5.0.27-community-nt]Out of range value adjusted for column 'nummer' at row 1
Det sker kun når der skal tilføjes i et int felt i databasen.
Den er sat op som følgende: Feltnavn Datatype Kollation Attributter Nulværdi Standardværdi nummer int(5) Ja NULL
Hvis jeg sætter Datatype til varchar virker det fint. Problemet er der kun når Datatype er sat til int
Du skal vel angive, hvad der skal ske når feltet er tomt - altså hvilken værdi, der skal indsættes. Der findes ikke en "tom" værdi for en int, kun NULL.
Jamen så la' vær' med at skrive ingenting. Er inputstrengen tom så lav værdien om til 0 (hvis det giver mening) eller NULL (hvis det giver mening), og sæt det ind.
Hvad skal den stakkels mysql gøre, når den ikke for en værdi den kan bruge - ud over at brokke sig ;)
PS: Tidligere versioner af MySql åd faktisk den konstruktion, og satte noget ind.
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.