/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260

Fra : Harald


Dato : 26-08-03 12:46

Jeg har lige brugt et par timer på at lede efter en eller anden INC kommando
til at til at forhøje et felt i en MySQL tabel med 1, og så var det jeg
tænkte "kan det være så simpel? nej jeg tvivler" men jo det var så simpel


UPDATE `boger` SET `AntalBestilt` = AntalBestilt+1 WHERE `IdnrBoger` = '65'
LIMIT 1 ;

Syntes bare lige jeg havde lyst til at fortælle det.

Mvh
HK



 
 
Jacob Nielsen (31-08-2003)
Kommentar
Fra : Jacob Nielsen


Dato : 31-08-03 21:01

"Harald" <news@kroning.dk> wrote in message
news:3f4b4884$0$24699$edfadb0f@dread14.news.tele.dk...
> Jeg har lige brugt et par timer på at lede efter en eller anden INC
kommando
> til at til at forhøje et felt i en MySQL tabel med 1, og så var det jeg
> tænkte "kan det være så simpel? nej jeg tvivler" men jo det var så simpel
>
>
> UPDATE `boger` SET `AntalBestilt` = AntalBestilt+1 WHERE `IdnrBoger` =
'65'
> LIMIT 1 ;
>
> Syntes bare lige jeg havde lyst til at fortælle det.

Du er ikke den eneste der har været ude for det præcis samme ;)



Troels Arvin (31-08-2003)
Kommentar
Fra : Troels Arvin


Dato : 31-08-03 21:10

On Tue, 26 Aug 2003 13:46:10 +0200, Harald wrote:

> UPDATE `boger` SET `AntalBestilt` = AntalBestilt+1 WHERE `IdnrBoger` = '65'
> LIMIT 1 ;

Hvorfor "LIMIT 1"? - Det lugter ilde af, at du ikke har sikret dig godt
mod dublet-situationer og endda gør det værre ved at lade det være op til
tilfældet hvilken af dubletterne, der får øget sin AntalBestilt.

--
Greetings from Troels Arvin, Copenhagen, Denmark


Jimmy (31-08-2003)
Kommentar
Fra : Jimmy


Dato : 31-08-03 21:20


"Troels Arvin" <troels@arvin.dk> wrote in message
news:pan.2003.08.31.20.09.36.407608@arvin.dk...
> On Tue, 26 Aug 2003 13:46:10 +0200, Harald wrote:
>
> > UPDATE `boger` SET `AntalBestilt` = AntalBestilt+1 WHERE `IdnrBoger` =
'65'
> > LIMIT 1 ;
>
> Hvorfor "LIMIT 1"? - Det lugter ilde af, at du ikke har sikret dig godt
> mod dublet-situationer og endda gør det værre ved at lade det være op til
> tilfældet hvilken af dubletterne, der får øget sin AntalBestilt.

Jeg kan godt følge dig, men hjælper man ikke optimizeren idet den ikke
behøver at klargøre det helt store sæt i det tilfælde, at man ved, at der
kun er een række?

Mvh
Jimmy




Troels Arvin (31-08-2003)
Kommentar
Fra : Troels Arvin


Dato : 31-08-03 21:37

On Sun, 31 Aug 2003 22:20:14 +0200, Jimmy wrote:

> men hjælper man ikke optimizeren idet den ikke
> behøver at klargøre det helt store sæt i det tilfælde, at man ved, at der
> kun er een række?

Hmm. Jeg sidder og tænker, at det burde databasesystemet være klogt nok
til at gøre selv. Men det er jo egentlig blot forhåbninger; man burde få
det afklaret empirisk, hvilket jeg ikke gider lige nu.

Jeg søgte på LIMIT i "SQL Performance Tuning"[1] og fandt ikke
umiddelbart noget, der støttede din tanke, men det kunne være fordi det
trods alt er lidt sært, at DBMSet overhovedet tillader LIMIT i et
UPDATE-udtryk.


Note 1:
http://www.aw-bc.com/catalog/academic/product/0,4096,0201791692,00.html
via Safari - http://www.safaribooksonline.com/

--
Greetings from Troels Arvin, Copenhagen, Denmark


Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408521
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste