update try transaction transacciones start savepoint example catch mysql transactions

try - MySQL Script con reversión en el error



transacciones en mysql workbench (1)

Estoy intentando crear una transacción en MySql que se retrotraerá cuando ocurra una excepción durante la transacción. Similar usando lo siguiente en un procedimiento almacenado.

DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK;

¿Se puede hacer esto sin escribir un procedimiento almacenado? Por ejemplo, el siguiente fragmento debería retrotraer la primera inserción porque la segunda inserción fallaría.

START TRANSACTION; INSERT INTO mytable VALUE ''foo1'',2,''foo3'',''foo4'' INSERT INTO mytable VALUE ''foo1'',''foo2'',''foo3'',''foo4'' COMMIT


Si entiendo correctamente, desea ejecutar un script SQL que contenga, por ejemplo, inserciones, en una sola transacción que se retrotraerá si alguna de las inserciones falla. ¿Es correcto?

No estoy al 100% en esto, pero estoy bastante seguro de que necesitarías hacer esto como un procedimiento almacenado o programáticamente en, digamos, Java.