dedlfix: MySQL 5

Beitrag lesen

Tach!

Um nicht herausfinden zu müssen, was der User gemacht hat und dann entsprechend unterschiedlich damit umgehen zu müssen, würde ich folgendes machen: Zuerst alle Datensätze mit DOC_ID =3 löschen und alle, die nach dem Absenden des Forms IN GET bzw POST ankommen mit DOC_ID=3 einfügen. Das passt unabhängig davon, ob der User a, b oder c gemacht hat in jedem Fall.

Das sieht mir auch nach der einfachsten Lösung aus. Aus der Nutzerhandlung ein Delta zu ermitteln, ist aufwendig und bringt neue potentielle Fehlerquellen, auf jeden Fall aber mehr Code, der zu warten ist. Dass die IDs als Primärschlüssel verlorengehen ist für den Anwendungsfall nach deiner Schilderung belanglos. Dieses Feld wäre sogar ganz verzichtbar. Wenn du es noch nicht hast, wäre ein Feld mit einer Sortierreihenfolge sinnvoll, denn MySQL garantiert keine physische Reihenfolge in der Datenbank oder dass die Datensätze in einer bestimmten Folge in der Ergebnismenge stehen, wenn kein ORDER BY angegeben wurde. - Zur ursprünglichen Frage: mir ist keine Zusammenfassungsmöglichkeit bekannt, die ich in dem Fall verwenden würde.

dedlfix.