Rouven: Timeout - Datenbank inkonsistent?

Beitrag lesen

Hi,

der Abbruch dürfte eher unkontrolliert erfolgen. Wie deine Datenbank darauf reagiert kommt sehr auf die Einstellungen an. Ich habe bei den MySQL-Funktionen gerade den Vorschlag gefunden die Transaktionen zur Datenbank manuell zu starten und zu beenden, also
mysql_query("BEGIN");
...
mysql_query("COMMIT");

Das müsste dafür sorgen, dass alles zwischen den beiden Befehlen nur dann wirksam wird wenn der zweite Befehl ausgeführt wurde, bei vorzeitigem Abbruch werden die Änderungen zurückgenommen. Allerdings, wenn dein Skript so lange läuft stellt sich automatisch auch die Frage, ob das Transaktionsprotokoll dafür ausreichen würde alle diese Änderungen auf einmal aufzunehmen!

Von mindestens einer anderen Skriptsprachen kenne ich darüber hinaus noch das Grundsatzverhalten das Skript als ganzes als Transaktion anzusehen und Änderungen an der Datenbank nur dann dauerhaft zu übernehmen wenn das Skript erfolgreich terminiert.

MfG
Rouven

--
-------------------
ie:| fl:| br:> va:| ls:& fo:) rl:( n4:{ ss:) de:] js:| ch:? mo:} zu:|