raven16
Lieutenant
- Dabei seit
- Nov. 2008
- Beiträge
- 580
Hallo,
ich möchte in MYSQL (InnoDB) einige DELETE Befehle in einer Transaktion laufen lassen, auch weil mir ein Delete-Join über 6 Tabellen viel zu kompliziert ist.
Probiert habe ich in phpMyAdmin folgende Transaktion
Mit dem Abschicken des COMMIT; Befehls werden alle nötigen Datensätze gelöscht, was soweit ganz gut ist.
Jedoch bewirkt ein Absetzen von ROLLBACK; danach nicht, dass die vorher gelöschten Datensätze wiederhergestellt werden. Am Ende würde ich natürlich autocommit wieder auf 1 setzen.
Wenn ich den COMMIT noch nicht ausführe, dann werden die Daten in den Tabellen noch angezeigt.
Was mache nicht oder was mache ich falsch?
Gruß
ich möchte in MYSQL (InnoDB) einige DELETE Befehle in einer Transaktion laufen lassen, auch weil mir ein Delete-Join über 6 Tabellen viel zu kompliziert ist.

Probiert habe ich in phpMyAdmin folgende Transaktion
Code:
SET autocommit=0;
START TRANSACTION;
DELETE FROM benutzer WHERE mandantenNr=98765432;
DELETE FROM gruppe WHERE FirmaID=98765432;
DELETE FROM fahrer WHERE FirmaID=98765432;
DELETE FROM firma WHERE FirmaID=98765432;
DELETE FROM adresse WHERE AdressID=25;
COMMIT;
Mit dem Abschicken des COMMIT; Befehls werden alle nötigen Datensätze gelöscht, was soweit ganz gut ist.
Jedoch bewirkt ein Absetzen von ROLLBACK; danach nicht, dass die vorher gelöschten Datensätze wiederhergestellt werden. Am Ende würde ich natürlich autocommit wieder auf 1 setzen.
Wenn ich den COMMIT noch nicht ausführe, dann werden die Daten in den Tabellen noch angezeigt.
Was mache nicht oder was mache ich falsch?
Gruß