[MYSQL] Einfache Versionsverwaltung von Objekten

südpol

Erfahrenes Mitglied
Hallo zusammen,

ich würde gerne in einer meiner Anwendungen eine History für einzelne Tabellen führen. Dafür habe ich mir folgendes sehr einfaches (Anwendung ist sehr klein) Schema überlegt:

Tabelle:
- ID
- VersionsNummer
- text

Das Feld ID und VersionsNummer würden zusammen den Primarykey bilden. Das Einfügen neuer Datensätze bzw. das Ändern (was ja nur ein neues einfügen wäre ;-)) bekomme ich ohne Probleme hin.

Bei der Abfrage würde ich mir nun gerne in einem query nur die jeweils neuste Version eines Datensatzes anzeigen lassen wollen. Ich könnte das zwar schön über PHP lösen wenn jedoch MYSQL hier schon fertige Mechanismen besitzt würde ich mir die Mühe gerne sparen.

Gibt es solche Funktionen und wie heißen diese?

Liebe Grüße
 
Prinzipiell sollte das mit folgender Abfrage möglich sein:
Code:
SELECT
        `ID`,
        `VersionsNummer`,
        `text`
  FORM
        …
  GROUP BY
        `ID`,
        `VersionsNummer`
  ORDER BY
        `ID`,
        `VersionsNummer`
 
Prinzipiell sollte das mit folgender Abfrage möglich sein:
Code:
SELECT
        `ID`,
        `VersionsNummer`,
        `text`
  FORM
        …
  GROUP BY
        `ID`,
        `VersionsNummer`
  ORDER BY
        `ID`,
        `VersionsNummer`

Danke! Manchmal ist die einfachste Lösung die beste. Da hätte ich auch selber drauf kommen können *grml*.

Vielen Dank für die schnelle Antwort!
 
Zurück