Avatar billede madeindk Nybegynder
23. oktober 2006 - 15:48 Der er 13 kommentarer og
1 løsning

Underlig fejl med MySQL - duplicate entry '0'

Hej eksperter! Jeg modtager følgende fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[MySQL][ODBC 3.51 Driver][mysqld-4.1.16-nt]Duplicate entry '0' for key 1

Min SQL streng ser sådan her ud:

SQL = "INSERT INTO users (firstname, lastname, username, password, birthday, kon, mail, created, activated, activateCode) " & "VALUES('" & Replace(Request.Form("firstname"), "'", "''") & "','" & Replace(Request.Form("lastname"), "'", "''") & "','" & Replace(Request.Form("username"), "'", "''") & "','" & Replace(Request.Form("password"), "'", "''") & "','" & strBirthday & "','" & request.form("kon") & "','" & Replace(Request.Form("email"), "'", "''") & "','" & DanskDatoTid(Now) & "','" & 0 & "','" & strActivateCode & "')"

objConn.Execute(SQL)
Avatar billede webudvikleren Nybegynder
23. oktober 2006 - 15:57 #1
Nu skal jeg intet love, men er det ikke fordi du indsætter " & 0 & " ?
er 0 en variabel, hvis ja, så omdøb den til a0, fordi en variabel må ikke starte med et tal.

Hvis der bare skal stå "0" så fjern " & og modsat
Avatar billede madeindk Nybegynder
23. oktober 2006 - 16:07 #2
0 er ikke en variabel og det virker stadig ikke, desværre.

Men når jeg udskriver min SQL streng ser den sådan her ud:

INSERT INTO users (firstname, lastname, username, password, birthday, welcomeMsg, kon, mail, created, activated, activateCode) VALUES('safasfas','sfsaffs','fasfasasf','test','1-01-1970','0','Mand','test@google.dk','23. oktober 2006 kl. 16:06','0','hegb8bxwhxzfsd4j5j2v')

Er det ikk ok?
Avatar billede sw_red_6 Nybegynder
23. oktober 2006 - 16:09 #3
hvor mange rækker har du i tabellen?
Avatar billede madeindk Nybegynder
23. oktober 2006 - 16:12 #4
I hele tabellen der hedder users?
Avatar billede webudvikleren Nybegynder
23. oktober 2006 - 16:14 #5
Skud i luften - dette er bare et gæt, virker det ikke, kan jeg desværre ikke hjælpe dig. Fejlen kan også skyldes, som sw_red_6 nævner, at du prøver at indsætte flere kolonner end der rent faktisk er.


SQL = "INSERT INTO users (`firstname`, `lastname`, `username`, `password`, `birthday`, `kon`, `mail`, `created`, `activated`, `activateCode`) VALUES('" & Replace(Request.Form("firstname"), "'", "''") & "','" & Replace(Request.Form("lastname"), "'", "''") & "','" & Replace(Request.Form("username"), "'", "''") & "','" & Replace(Request.Form("password"), "'", "''") & "','" & strBirthday & "','" & request.form("kon") & "','" & Replace(Request.Form("email"), "'", "''") & "','" & DanskDatoTid(Now) & "','0','" & strActivateCode & "')"

objConn.Execute(SQL)
Avatar billede sw_red_6 Nybegynder
23. oktober 2006 - 16:14 #6
ja, bare et ca. tal hvis det er. hvilke felter er nøgler?
Avatar billede madeindk Nybegynder
23. oktober 2006 - 16:17 #7
Den SQL streng virkede desværre ikke, øv bøv.

Jeg har en "Primary Key" og det er ID i min users og resten er bare tekst- og talfelter. Og jeg har omkring 30 felter.
Avatar billede sw_red_6 Nybegynder
23. oktober 2006 - 16:21 #8
hvor mange brugere er der i tabellen, ca.?
Den fejl kunne nemlig godt se ud som du prøver at indsætte en værdi i din primary key som allerede står der.
Avatar billede madeindk Nybegynder
23. oktober 2006 - 16:26 #9
Der står der er 1273 rows :-)
Avatar billede sw_red_6 Nybegynder
23. oktober 2006 - 16:28 #10
dvs den har virket 1273 gange, så hvad har du ændret? eller er der et eller andet specielt ved den bruger som ikke kan oprettes? specielle tegn bl.a.
Avatar billede madeindk Nybegynder
23. oktober 2006 - 16:29 #11
Jeg har intet ændret. Jeg er i gang med at udarbejde en ny version af mit site og har naturligvis den forhenværende version kørende som mine brugere så bruger pt. indtil den nye kommer online og den virker heller ikke nu.

Og det var da nok den sidste jeg skulle ændre i - har ikke ændret i den nuværende version i gud ved hvor længe.
Avatar billede madeindk Nybegynder
23. oktober 2006 - 16:33 #12
Så lader det til at spille igen. Det var fordi der var en bruger med ID 0.

Guderne må da vide hvordan han er kommet ind, hehe.

Skal vi deles om point?
Avatar billede sw_red_6 Nybegynder
23. oktober 2006 - 16:36 #13
nah, ikke for min skyld. det var trods alt dig selv der fandt løsningen
Avatar billede madeindk Nybegynder
23. oktober 2006 - 16:38 #14
Ok, fair nok. Men tak for hjælpen alligevel :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester