Rolf B: php, SQL, Multiuser - SESSION oder nicht ?

Beitrag lesen

Hallo PHP-Neuling,

es reicht, wenn Du das Stichwort "optimistisches Sperren" mitnimmst.

Die Debatte um Transaktionen ist ein technisches Detail. Wenn Du mehr als ein UPDATE Statement absetzen musst, um deine Daten zu speichern, überprüfe das Transaktionsverhalten deiner Datenbank. Es ist wichtig, dass entweder alle Updates durchgeführt werden, oder keiner.

Die "klassische" Lösung ist, vor die Updates ein BEGIN TRANSACTION zu setzen. Wenn irgendwas schiefgeht, rufst Du den ROLLBACK Befehl auf und alle Änderungen sich rückgängig gemacht. Ist alles gut gegangen, rufst Du COMMIT auf und alle Änderungen sind persistiert.

Das ist handgemacht, und es mag Datenbanksysteme oder Persistenz-Frameworks[1] geben, die Dir dafür bessere Werkzeuge bereitstellen. Leider hat DB-Willi das nicht konkretisiert, so dass wir nicht wissen, wie das genau gehen soll. Meine bisherige Erkenntnis ist, dass ATS ein Feature von ORM Frameworks oder DB Frontends ist, nicht vom DBMS. Und der riesige Hit ist es auch nicht, wenn Google zum Begriff "Automated Transaction Scoping" gerade mal 131 Treffer liefert. Insofern: vergiss das.

Rolf

--
sumpsi - posui - obstruxi

  1. Libraries, die die Datenbankzugriffe kapseln und die Daten für Dich bereitstellen und wieder speichern. Gehören zu meinen persönlichen Hassobjekten. ↩︎