2012-03-28 9 views
1

Ich habe eine gespeicherte Prozedur, um ein Eingabeskript zu nehmen und Tabellen zu aktualisieren. Es schreibt auch in eine Tabelle mit Update-Verlauf. Ich habe sie mit der Transaktion eingewickelt.Skript mit Transaktion in Mysql ausführen

START TRANSACTION; 
PREPARE action from @upgradeScript; 
EXECUTE action; 
INSERT INTO database_history (version, changes) 
VALUES (Version, comments); 
COMMIT; 

Ich habe @upgradeScript zu:

"ALTER TABLE t ADD column test1 varchar(45) NOT NULL;" 

Wenn jedoch der Einsatz ausfällt, es Rollback keine Änderungen in @upgradeScript.

Ich weiß warum und kann jemand helfen. Vielen Dank.

Antwort

Verwandte Themen