FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Praktische Informatik (HS)

MySQL und AutoCommit

MySQL und AutoCommit 2005-06-26 12:14
Popcorn
Ich bin gerade mit meiner schicken Online-Datenbank von All-Inkls.com unterwegs. Blöderweise kann man auf die Datenbank nur wer Webinterface "phpMyAdmin" zugreifen.

Wie gesagt möchte ich ja das AutoCommit ausschalten. Also tipper ich in der Tabelle 'gast' folgendes ein:

SET AUTOCOMMIT = 0

So. Nun zu meinen Fragen:

1. Kann ich irgendwo aus oder in diesem Interface ablesen, auf welchen Wert AutoCommit derzeit steht? Intuitives wie GET AUTOCOMMIT wollte nicht.

2. Wenn ich aus meinem dazugehörigen CGI wie gewöhnlich Daten in die Datenbank schreibe, macht er das immer noch nicht auf Transaktionsart. Sprich er fügt sie weiterhin sofort in die Datenbank ein. Ganz ohne Commit. Etwa so:

my $sql = qq{insert into $Tabellen_Name (GastID,Vorname,Nachname) values $insert}; my $sth = $dbh->prepare($sql); $sth->execute or print "Fehler bei der Datenbankverbindung aufgetreten. $DBI::errstr"; $sth->finish;
Das kann doch eigentlich nicht so trickreich sein?

Re: MySQL und AutoCommit 2005-06-26 12:58
BoTaS
Welche Version von MySQL hast du denn da? Falls ich mich richtig errinner hat MySQL vor 4.1 keine Transaktionen. Kann es ohne sowas wie "Commit" geben? Als Tabellentyp muss man innoDB wählen.

Re: MySQL und AutoCommit 2005-06-26 13:19
Popcorn
Mist… 4.0.23 Darauf hatte ich noch gar nicht geachtet. [img]http://www.fb18.de/gfx/26.gif[/img]


Re: MySQL und AutoCommit 2005-06-29 21:25
Anonymer User
Soweit ich weiss gigen Transaktionen auch schon deutlich frueher. Allerdings nicht standardmaessig und wenn man das dann kompilieren wollte musste man ganz schoenen Aufwand treiben. So musste man die ganzen Libs wie z.B. InnoDB getrennt kompilieren.