MySQL - uppdatera räknare i tabell

Tråden skapades och har fått 5 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Stockholm
  • 2006-12-28 11:03

UPDATE table SET hits=hits+1 where_cond

Finns det något fel med att göra så?
Det tycks gå åt skogen ibland nämligen och producera sjuka nummer och vad jag kan se är det inte googlebot eller någon annan som spammar heller.

  • Medlem
  • Malmö
  • 2006-12-28 11:28

Det bör inte bli något fel med det, såvida du sett till att ha rätt datatyp för fältet 'hits'...

  • Medlem
  • Sollentuna
  • 2006-12-28 11:49

och förutsatt 'hits' har ett väldefinierat initellt värde, typ 0

  • Medlem
  • Stockholm
  • 2006-12-28 13:49

Datatypen är int, och har initialt värde 1.

  • Oregistrerad
  • 2006-12-28 14:06

Kan du definiera "sjuka nummer". Det är inget fel på din update, förutom om den kanske körs flera gånger samtidigt så kan det kanske hända att den råkar uppdatera för mycket.

Sjuka nummer i min värld är typ 10340943939 hits på en timme..

  • Medlem
  • Stockholm
  • 2006-12-28 15:17

Inte fullt så sjuka nummer, men några hundra hits på en dag. Det ligger definitivt över vad det borde kunna vara. Känslan är att något går galet lite då och då.

Jag får undersöka vidare på annat håll, då jag varje fall nu verifierat att det inte ska vara några fel på tillvägagångssättet. Jag har en enkel funktion som räknar om ifrån en annan log och mycket riktigt korrigeras numret ibland.

Låser inte MySQL tabellen så att det inte går att uppdatera samtidigt?

1
Bevaka tråden