Avatar billede SilenceWar Nybegynder
26. august 2010 - 17:36 Der er 11 kommentarer og
1 løsning

MySQL - For mange værdier i INSERT?

Hej eksperter

Kan det passe, at der er et maks for hvor mange værdier man kan indsætte i 1 INSERT-kode??

Jeg har før haft 50 værdier uden problemer - men så snart jeg indsætter værdi nummer 51 begynder den, at melde denne fejl:

Microsoft VBScript runtime  error '800a0006'
Overflow

..

Håber på hurtigt svar - på forhånd tak :)

SW
Avatar billede mortvader Nybegynder
26. august 2010 - 18:31 #1
Eller måske forsøger du at putte mere data i et felt, end det kan rumme? F.eks. en streng på 12 tegn i et varchar(10) felt?
Avatar billede SilenceWar Nybegynder
26. august 2010 - 18:59 #2
Mit felt er et Varchar(255)
- Så regner ikke med, at der skulle være en fejl der?.
Avatar billede mortvader Nybegynder
26. august 2010 - 19:35 #3
Prøv at udskrive din sqlsætning til skærmen, i stedet for at execute den. Det kan være der er noget der springer dig i øjnene..
Avatar billede SilenceWar Nybegynder
26. august 2010 - 19:46 #4
Det har jeg prøvet.
Og har endda prøvet bare, at ændre VALUE'n til, at være 1 for at sikre der ingen fejl var..

Den melder Overflow..
Kan det ikke være fordi der kun kan være 50??
Avatar billede mortvader Nybegynder
26. august 2010 - 20:12 #5
Crazy.. prøv et andet felt som nr 51 i stedet?
Avatar billede SilenceWar Nybegynder
26. august 2010 - 21:23 #6
Der virker det ganske glimrende..
Hm, findes der nogen som helst løsning, som gør det muligt, at opdatere en der lige er blevet indsat?? I 1 kode..?

Eller skal jeg til, at lave systemet lidt anderledes..?

SW
Avatar billede mortvader Nybegynder
26. august 2010 - 21:30 #7
Hvis det virker med et andet felt, har du vel svaret (om end indirekte) der?

Prøv at afkorte data i sql-sætningen til 200 eller udvid feltstørrelsen til f.eks. 1024... hvad sker der så?
Avatar billede SilenceWar Nybegynder
26. august 2010 - 21:36 #8
Når du siger, afkorte data i Sql-sætningen - hvad mener du så helt præcist jeg skal prøve??

Du mener ændre det til Vachar(1024)??
Avatar billede mortvader Nybegynder
26. august 2010 - 21:52 #9
Prøv det ja.. mit gæt er at du smider mere end 255 bytes i det varchar(255) felt.

Det andet jeg mente var at sikre dig at det data du smider i sql sætningen bliver skåret til.

Eksempel:

sql="insert into tabellen (felt1,felt2) values ('"+copy(data1,1,255)+"','"+copy(data2,1,255)+"')"

conn.execute(sql)
Avatar billede SilenceWar Nybegynder
26. august 2010 - 22:58 #10
Faktisk tror jeg ikke, at det er en kodning jeg har set før?  (dit eksempel)..

Ved ikke om det har nogen forskel med hensyn til når det er ASP SQL jeg skriver?.. (med hensyn til dine +'er - hvor mine havde været &'er)..

Hm, jeg vil prøve det du skriver øverst! Det bliver dog lige desværre nødt til, at vente til i morgen hvor jeg igen vil være frisk i hovedet til en gang kodning. :)

Sov godt - og tak for hjælpen indtil videre.
Avatar billede mortvader Nybegynder
27. august 2010 - 08:16 #11
Ja i ASP vil eksemplet se sådan ud:

sql="insert into tabellen (felt1,felt2) values ('"&mid(data1,1,255)&"','"&mid(data2,1,255)&"')"

conn.execute(sql)
Avatar billede SilenceWar Nybegynder
06. december 2010 - 20:18 #12
Det lykkedes ikke.
Ellers tak.
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
Computerworld tilbyder specialiserede kurser i database-management

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