Transacción mysql: deshacer cualquier excepción

¿Es posible revertir automáticamente si ocurre algún error en una lista de comandos mysql?

por ejemplo algo a lo largo de las líneas de:

begin transaction;

insert into myTable values1 ...
insert into myTable values2 ...;  -- will throw an error

commit;

ahora, al ejecutar quiero que falle toda la transacción, y por lo tanto deberíaNO ver valores1 en myTable. pero, desafortunadamente, la tabla está siendo calculada con valores1 a pesar de que la transacción tiene errores.

¿Alguna idea de cómo lo hago para retroceder? (de nuevo, en cualquier error)?

EDITAR - cambiado de DDL a SQL estándar

Respuestas a la pregunta(2)

Su respuesta a la pregunta