Ich verbringe viel Zeit in der Entwicklung von MySQL Workbench. In den letzten paar Wochen habe ich an einigen gespeicherten Prozeduren gearbeitet und diese in Rollback-Transaktionen getestet. Aber die Änderungen, die das Verfahren vorgenommen hat, werden durchgeführt, obwohl ich sie zurückgerollt habe. Ich habe einen Vorschlag gefunden, 'set autocommit = 0;' und das hat lange gedauert. Aber jetzt funktioniert das auch nicht. Ich führe Folgendes aus, selbst wenn ich die SELECT-Anweisungen auf einem anderen Computer ausführen, auf dem Workbench ausgeführt wird, werden die von der Prozedur vorgenommenen Änderungen angezeigt.MySQL wird keine Transaktionen rückgängig machen
set autocommit = 0;
Transaktion starten;
Aufruf TestProc (129,131);
Wählen Sie * aus Tabelle1;
Wählen Sie * aus Tabelle2;
Rollback;
Ich habe noch nie die "set autocommit = 0" Zeile benötigt und es vermasselt Dinge bis ich es auf 1 zurückgesetzt habe. Aber wie gesagt, das funktioniert jetzt nicht mal.
Ich frage mich, ob ich Statistiken oder etwas zurücksetzen muss. Ich habe "Flush Tables" gemacht. und "Flush Query Cache;"; aber das Problem besteht weiter. Ich vermute, das ist entweder ein Wartungsproblem, das ich nicht zu beheben weiß.
Jede Hilfe wird sehr geschätzt.
Danke,
Mike
Sie brauchen mehr Details als das – Drew