Anficks werden x-mal gespeichert

3
Bug #
Priorität1 (🔺 Sehr Hoch)
BereichAnficker
TitleAnficks werden x-mal gespeichert
BeschreibungJeder Anfick wird NEU in die DB geschrieben - es werden KEINE alten/identischen Anficks überschrieben!

Somit stimmt die Score so ziemlich nie (jeder Anfick-Eintrag hat wieder ø Score von 4.0) und es braucht unzählige Zeilen in der Tabelle...


Das Problem ist, dass im Code ein

INSERT IGNORE INTO...
(ignore unterdrückt lediglich Fehler, falls 1 zu 1 identischer Eintrag bereits existieren würde)

anstatt

REPLACE INTO...

Der Grund ist ev. wegen dem Score (Benotung). Diese müsste auf eine separate Tabelle ausgelagert werden - ansonsten müsste der \"aktuelle\" Score jeweils VOR dem REPLACE ausgelesen, neu ergänzt, und dann MIT dem REPLACE wieder in die Tabelle geschrieben werden. Ob das aber überhaupt geht, weiss ich gar nicht auswendig.

Variante 1 wäre zu bevorzugen :)
Reported by @
 
Git Commitb2bc6ce
Assigned to @ 21. January 12:50
StatusResolved @ 3
zorg.ch
#109948 by @ 09.06.2009 09:59 - nach oben -
update bla set score=(score*gradings + $grade)/(gradings+1) where args

nöd?
oder, ne variante, die zu weniger numerischen problemen führt:
das score-feld für die summe aller grades benutzen, und dann bei jedem query "select score/gradings as grade", und entsprechend "update bla set score=(score + $grade), gradings=gradings+1", aight?
zorg.ch
#109954 by @ 09.06.2009 13:18 - nach oben -
true. merci. isch halt scho spoht gsii :)
zorg.ch
#109960 by @ 10.06.2009 09:25 - nach oben -
http://zorg.ch/smarty.php?tpl=162&id=33552

und tu doch, wenn du grad dabei bist, bitte den bug http://zorg.ch/bugtracker.php?bug_id=664 beruecksichtigen :-)