Mysql auto increment in Abhängigkeit von einem anderen Feld

Sprint

Erfahrenes Mitglied
Hallo zusammen,

ich stehe hier im Moment vor einem kleinen Problem, bei dem ich vermeiden möchte, es mit php zu umgehen.
Es geht um eine Tabelle, in der Prüfungsergebnisse gespeichert werden. An einer einzelnen Prüfung können mehrere Mitarbeiter nacheinander beteiligt sein. In der Tabelle werden bis jetzt nur die jeweils letzten Ergebnisse gesichert. Es sollen nun aber auch die Zwischenergebnisse erhalten bleiben.

Ich hatte mir nun überlegt, ein zusätzliches Feld einzufügen, in dem die jeweilige Bearbeitung durchnummeriert wird. Natürlich soll bei jeder neuen Prüfung wieder bei 1 angefangen werden. Das könnte dann so aussehen:

PrüfNr - BearbNr
5001 - 1
5001 - 2
5002 - 1
5002 - 2
5002 - 3
5003 - 1
5004 - 1
5004 - 2

Und jetzt endlich meine Frage. Ist es möglich, aus dem Feld mit der Bearbeitungsnummer ein auto increment Feld zu machen, das aber in Abhängigkeit von der Prüfungsnummer arbeitet? Es also wieder bei 1 anfängt, wenn eine neue PrüfNr kommt bzw. bei einer schon bestehenden Nummer die Bearbeitungsnummer erhöht?
Sonnst müßte ich ja die höchste BearbNr der betreffenden Prüfung auslesen, um 1 erhöhen und dann den neuen Datensatz schreiben. Wäre natürlich auch möglich, aber schneller und eleganter wäre es natürlich, die DB würde das beim Schreiben des Datensatzes selbst machen. Oder gibt es, für den Fall daß es so nicht funktioniert, einen Workaround auf DB Ebene?

Dane schon mal für eure Überlegungen,
Sprint
 
Entweder du schreibst einen Trigger oder du passt dein INSERT-Script an. Einen 2ten Autoinkrement-Wert kannst du vergessen. Auch einen Autoinkrement pro Gruppe geht nur über Trigger selber programmieren
 
Ich hab es schon befürchtet. Wäre ja auch zu schön gewesen. Ok, dann bau ich es halt selbst.
Danke trotzdem.
 
Zurück