Oprettet lør. d. 07. februar 2009 kl. 21:40:39

ravnborg
ravnborg (9.731 point. Point ude: 1.150)

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

Skrevet lør. d. 07. februar 2009 kl. 21:53:51| #1

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.

Skrevet lør. d. 07. februar 2009 kl. 22:03:25| #2

ravnborg
ravnborg (9.731 point)
Nu har jeg prøver at ændre standardværdien til først 0 og der næst til 22.
Jeg får stadig fejl.

Skrevet lør. d. 07. februar 2009 kl. 22:06:44| #3

Standardværdien bruges, hvis du ikke angiver en værdi i feltet. Men hvad skriver du, og hvad er fejlen? Det er ikke en gættekonkurrence...

Skrevet lør. d. 07. februar 2009 kl. 22:31:16| #4

ravnborg
ravnborg (9.731 point)
Fejlen kommer kun, når jeg ikke skriver noget i feltet på hjemmesiden.

fejlmeddelsen er så:
Out of range value adjusted for column 'nummer' at row 1

SQL:
insert into testTabel (nummer, streng) values ('', '')

Skrevet lør. d. 07. februar 2009 kl. 22:40:12| #5

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.

Skrevet søn. d. 08. februar 2009 kl. 01:58:45| #6

ravnborg
ravnborg (9.731 point)
Kan det passe, at når jeg indsætter NULL, kommer der til at stå 0 i databasen?

Skrevet søn. d. 08. februar 2009 kl. 09:26:35| #7

Nej, der kommer til at stå NULL. Men hvis du trækker værdien ud i PHP, og regner på den, så kan det være den opfører sig som 0.

Skrevet søn. d. 08. februar 2009 kl. 13:46:47| #8

ravnborg
ravnborg (9.731 point)
Så fik jeg rettet det til, så det virker.

Opret bare et svar, og mange tak for hjælpen.

mvh
Ravnborg

Skrevet søn. d. 08. februar 2009 kl. 13:46:49| #9

ravnborg
ravnborg (9.731 point)
Så fik jeg rettet det til, så det virker.

Opret bare et svar, og mange tak for hjælpen.

mvh
Ravnborg

Skrevet søn. d. 08. februar 2009 kl. 19:05:27| #10

Jeg samler slet ikke på point, tak. Svar selv, og accepter dit eget svar.

Skrevet søn. d. 08. februar 2009 kl. 19:23:25| #11


Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Kopier alt fra een column til en anden med streng foran

Oprettet den 25. maj 2012 kl. 04.55
dmg giver 30 point for svar | Giv et svar »

Unique varchar

Oprettet den 25. maj 2012 kl. 04.34
dmg giver 30 point for svar | Giv et svar »

hvem kan flytte min webside fra MySQL 3 database til en...

Oprettet den 24. maj 2012 kl. 11.18
runebase giver 30 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger