Seite 1 von 1

MySQL Auto-Commit versagt zeitweise?

Verfasst: Mi 13.Apr, 2011 16:24
von Holger
Hallo,

ich bin in meiner Firma für den Content eines Online-Trainings zuständig.
User werden registriert und müssen sich dann selber freischalten.
Wir haben häufig den Fall, dass die User sich freischalten (dabei legen sie Username und Passwort fest), dann aber nicht mehr einloggen können - die gespeicherten Username und Passwort sind nicht mehr da.
Der Programmierer meint, dass es mit dem MySQL Auto-Commit zu tun haben könnte.
Es scheint fast so, als würde die Datenbank nach dem aktuellen Prozess die gemachten Änderungen wieder vergessen. Dies ist aber für MySQL-Systeme untypisch (bei anderen SQL-Systemen ist teilw. eine zusätzliche Bestätigung "Commit" der Änderungen erforderlich).
Kann das sein? Wie könnte ich den Programmierer unterstützen?

Gruss
Holger

Re: MySQL Auto-Commit versagt zeitweise?

Verfasst: Mi 13.Apr, 2011 23:09
von oxpus
Die erste Frage die man stellen muss, ist, ob für den User mehr als ein Datensatz geschrieben wird (in unterschiedlichen Tabellen) und die INSERT-Anweisungen in einer Transaktion zusammengefasst werden.
Dann würde die Datenbank alle Änderungen rückgängig machen, wenn eine Speicherung in einer Tabelle (von allen angesprochenen) nicht klappt.
Damit gäbe es schon einmal keinen Datensalat.

Wenn autocommit im Datenbankserver allerdings wirklich abgeschaltet ist, muss man auch die Einstellungen des Datenbankservers ändern. Per PHP geht das so zunächst nicht.
Allerdings kann man mit

Code: Alles auswählen

mysql_query('commit');
auch ein Commit an die Datenbank senden. Der Befehl könnte aber auch abgeschaltet sein und wäre dann auch wieder nutzlos...

Re: MySQL Auto-Commit versagt zeitweise?

Verfasst: Do 28.Apr, 2011 09:26
von Holger
Autocommit ist per Default aktiviert und kann nur zu Laufzeit deaktiviert werden.

Hmmm, suche weiter.