09. februar 2004 - 13:34Der er
16 kommentarer og 1 løsning
Slette en "tilfældig" post i SQL
Hej
Jeg har en sql tabel, som holder styr på med hvilken handling mine brugere har "tjent" deres point. Jeg vil så gerne kunne slette bare en post fra denne tabel, men nu er det sådan, at jeg ikke har mulighed for specificere min sletning. Dette er et problem da en bruger måske har foretaget samme handling 100, og jeg skal bare ha' slettet en tilfældig en af dem... Det er sku' lidt svært at forklare. ;-)
Her er den foreløbige kode: strSQL8="delete from tblPoints Where Point = '"&point&"' and Bruger = '"&bruger&"' and Handl = '"&handl&"'"
Men hvis jeg nu kører denne kode, så vil den jo slette ALLE de hundredevis af steder hvor denne bruger har fortaget en lignende handling og tjent et lignende antal point. Hvordan får jeg koden til at slette en tilfældig af disse poster...??
Du må gerne fortælle hvilken database du har. Er det mysql kan du sætte en LIMIT på en delete. Er det Access kan du finde een post med en SELECT TOP 1, finde id (primær nøgle) og så slette den ud fra denne oplysning. Dvs. 2 SQL-sætninger.
Men måske du kunne lave din tabelstruktur lidt anderledes, hvis dette er noget du skal gøre tit.
... Der var vist en fejl i asp. Er rettet nu. Tak for hjælpen.
Lige et ekstra spørgsmål: Hvad hedder "ingenting" og "null" i "SQL sprog"? Jeg prøver at update en tabel: Update tbl Set O = 'ingenting' and G = 'Null' Where id = '"&id&"'"
Ok, jeg har fået O til at blive ''... Det var jo simpelt. Men spørgsmålet gik egentligt mest på, hvis G skal blive 'Null' (som er standard værdi for den). Lige nu bliver den bare lig ''.
(jeg har set, at jeg lavede en fejl i overstående sql sætning med and. Det er rettet)
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.