Avatar billede esquimal Nybegynder
05. oktober 2000 - 09:45 Der er 12 kommentarer og
1 løsning

autonummerering

Er der en måde hvorpå man kan auto-forhøje et felt i SQL.
F.eks. hvis man har en sætning der hedder:
\"update hits set hit = +=1 where varenavn = \'blabla\'\"

+=1  betyder at den skal tælle en op hvis den finder noget der hedder \'blabla\'´. Men hvordan fortæller man SQL at den skal gøre sådan??
Avatar billede kimsom Nybegynder
05. oktober 2000 - 09:51 #1
update hits
set hit to select max(hit)+1
where varenavn=\"blabla\"
Avatar billede kimsom Nybegynder
05. oktober 2000 - 09:54 #2
Øhh.. skal du tælle hvor mange \"blabla\" der er eller skal
\"jits\" i samme record som \"blabla\" være et \"autonumber\" felt?
Avatar billede esquimal Nybegynder
05. oktober 2000 - 09:57 #3
Jeg skal tælle hvor mange blabla der er
Avatar billede esquimal Nybegynder
05. oktober 2000 - 10:07 #4
Jeg kan ikke få

update hits
set hit to select max(hit)+1
where varenavn=\"blabla\"

til at virke den forstår ikke syntaksen:

PostgresSQL query failed: ERROR: parser: parse error at or near \"to\"

Avatar billede erikjacobsen Ekspert
05. oktober 2000 - 10:15 #5
Øh, mener du ikke bare:
  update set hit=hit+1 where varenavn=\"blabla\"
?
Avatar billede erikjacobsen Ekspert
05. oktober 2000 - 10:17 #6
Det skulle jo nok have været:
  update hits set hit=hit+1 where varenavn=\"blabla\"
Avatar billede kimsom Nybegynder
05. oktober 2000 - 10:20 #7
Er samme tabel hvor hver record med varenavn=\"blabla\" har
et unikt hit nummer eller skal du bare tælle hvor mange der er.
Hvad er meningen?
Avatar billede esquimal Nybegynder
05. oktober 2000 - 10:22 #8
>>erikjacobsen
det tænkte jeg også men det virker ikke

jeg får 0\'er over hele linien
Avatar billede esquimal Nybegynder
05. oktober 2000 - 10:23 #9
Jeg skal bare tælle sammen hvor mange \"blabla\" der er
Avatar billede kimsom Nybegynder
05. oktober 2000 - 10:26 #10
set hit to select count(*)
from hits
where varenavn=\"blabla\"
Avatar billede esquimal Nybegynder
05. oktober 2000 - 10:28 #11
>>erikjacobsen

Og jeg ved at SQL finder nogle varer for hvis jeg skriver:
update hits set hit = 1 where varenavn = \"blabla\"

Så får jeg 1 i hits
Avatar billede esquimal Nybegynder
05. oktober 2000 - 10:33 #12
>>kimsom

Jeg misforstod hvad du mente.
Jeg er ved at lave en søgefunktion. Her har jeg så denne \"update\" sætning der tjekker om varen er i en midlertidig tabel og hvis den er skal den lægge 1 til hits.
Det er for at kunne sortere efter antal hits
Avatar billede esquimal Nybegynder
05. oktober 2000 - 10:44 #13
Nå nu funkede det, det var fordi der stod NULL i felterne og ikke 0.
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