- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 25-02-2006, 16:49
Rolandbar
 Junior Member
Links : Onlinestatus : Rolandbar ist offline
Registriert seit: Mar 2004
Beiträge: 199
Rolandbar ist zur Zeit noch ein unbeschriebenes Blatt
Standard Mysql und transaktionen

hallo,

ich beschäftige mich gerade mit den transaktionen bei mysql(innoDB).
leider liefert die suche (google und hier) nicht viel brauchbares.

Kennt jemand ein tutorial oder so, wo transaktionen genau erklärt werden?

myisam in mysql 4 unterstützt ja keine transaktionen, wie schaut es den in Mysql 5 aus?
Zitat:
.....Ansonstens kann MySQL 5.0 auch mit MyIsam Tabellen Transaktionsüberwachte Befehle abarbeiten.....
ich konnte im manual leider nichts finden.


mfg Roland
Mit Zitat antworten
  #2 (permalink)  
Alt 26-02-2006, 13:13
Marcusson
 Registrierter Benutzer
Links : Onlinestatus : Marcusson ist offline
Registriert seit: Jan 2006
Beiträge: 241
Marcusson ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Transaktionen werden im MySQL-Handbuch beschrieben.

Viel zu erklären gibt's da nicht. Es gibt zwei Möglichkeiten: setzt man "AUTOCOMMIT" auf 0, arbeitet man automatisch mit Transaktionen. Alle Änderungen werden nicht ausgeführt, bis ein explizites "COMMIT" kommt.

Beispiel:

set autocommit=0;
update ...
update ...
update ...
select <- zeigt den alten Zustand an, weil noch kein commit
commit;
select <- jetzt erst sind die Änderungen sichtbar

Zweite Möglichkeit, man kann für einen Block von Anweisungen autocommit deaktivieren.

Beispiel:

start transaction <- Beginn der Transaktion
update ...
update ...
update ...
commit <- Ende der Transaktion
update ... <- wird sofort ausgeführt und wartet nicht auf commit

ROLLBACK versetzt eine Tabelle in den Zustand vor der Transaktion zurück.

start transaction
delete ...
delete ...
delete ... <- angenommen hier tritt ein Fehler auf
rollback <- Änderungen werden rückgängig gemacht
select ... <- alle Einträge sind noch da
delete ... <- Vorsicht! DAS kann man nicht mehr rückgängig machen, weil außerhalb einer Transaktion.

BTW: Es wäre natürlich mal eine geniale Sache wenn jemand sich die Mühe machen würde, das Verhalten einer Transaktion in MySQL für myisam mit PHP zu simulieren.

Also Tabelle sperren, Backup ziehen und Log der Transaktion schreiben. Bei Erfolg Log verwerfen, bei Mißerfolg den Tabelleninhalt aus dem Log wiederherstellen. Danach Sperre wieder aufheben und Ergebnis der Transaktion in Log-File ausgeben.

Das wäre zwar alles andere als performant, aber falls man aus welchen Gründen auch immer MySQL mit Myisam verwenden MUSS, dann hätte man zumindest eine Notlösung für die seltenen Fälle in denen man auf eine Transaktion angewiesen ist. Meistens sind das ja irgendwelche Updates über mehrere Tabellen.

Geändert von Marcusson (26-02-2006 um 13:15 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

belbit LiveSupport Script ansehen belbit LiveSupport Script

Schnellen und unkomplizierten Support im LiveSupport-Chat anbieten. Ohne Datenbank und in wenigen Sekunden installiert.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Chat
belbit Ticketcenter-Script ansehen belbit Ticketcenter-Script

Verwalten Sie Supportanfragen zuverlässig im Web2.0-Stil anstatt per E-Mail - inkl. Überprüfung, ob Antworten gelesen wurden und mehr.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Ticketsystem
Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

24.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:53 Uhr.