webForumDet fria alternativet

Antalet uppdaterade rader från UPDATE-sats

ASP

4 svar · 411 visningar · startad av web00132

Medlem sedan maj 2001797 inlägg
Frågan#1

Jag kör en UPDATE på en MySQL-databas som ska uppdatera en rad med hjälp av LIMIT 1, det funkar bra så länge mitt WHERE-statement lyckas hitta en rad att uppdatera. Men hur gör jag för att kolla om denna rad uppdaterades? Enligt MySQL:s manual så ska UPDATE returnera antalet uppdaterade rader men hur får jag fram det värdet? Får bara "Missing Default Property" hur jag än gör, hjälp!

Medlem sedan maj 2001797 inlägg
#2

Aahhhhaaaa..... ;)

Medlem sedan dec. 20025 483 inlägg
#3

Connection-objektets Execute-metod har en intressant 2:a parameter: RecordsAffected.

dim q
con.execute(sql, q)
response.write q

Red./ Här var man sen :)

Medlem sedan maj 2001797 inlägg
#4

Tack i alla fall!
Men en sak som egentligen inte är så viktig men en aning förbryllande, som du kanske har svar på, är att när jag kör mitt script genom att trycka på F5 på tangentbordet och sas ladda om sidan så funkar allt prima och antalet ändrade rader skrivs ut på skärmen. Men trycker jag Ctrl + F5 så skrivs 0 (noll) ut - trots att jag vet att det är rader som har ändrats, oh why?

Red. Det är som att sidan laddas om två gånger - är det alltid så med Ctrl + F5?

Medlem sedan maj 2001797 inlägg
#5

Äsch, nu spammar jag, sorry! Men finns det något sätt att kolla varför RecordsAffected blir noll?
Alltså när man uppdaterar en post med samma värde som redan står där så returneras ju en nolla - eftersom den då inte uppdateras - precis som att den inte skulle hittat någon rad att uppdatera. Så kan man ta reda på om den returnerar noll för att den inte hittade någon rad att uppdatera eller om den inte uppdaterade raden pga att samma värde redan fanns där?

262 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)