Autocommit en MySQL

Estamos con un compañero de trabajo emprendiendo un proyecto por nuestra cuenta y elegimos Base de Datos MySQL y como estamos acostumbrados a trabajar con Oracle, le queremos setear el Autocomit en False y no encontramos la forma.
Nos acabamos de instalar la versión 5 de MySQL y nada, según vimos en Internet esta propiedad se setea en cada conexión y no aplica para el usuario "root" ... ¿tienes alguna sugerencia o alguna pisadita para resolver este problema?

1 respuesta

Respuesta
1
Les cuento que por un lado mysql por defecto trae autocommit activado.
Por otro lado existen lo que se llaman TABLAS del tipo
Non-transaction-safe en donde los cambios se almacenan de una, independiente del estado del modo de autocommit. Este tipo de tabla se crea cuando hacemos un create table común.
Osea para poder hacer uso de transacciones.
1) Necesitan crear una tabla en donde se asigne una de las tantas Engine que trae mysql a la tabla, por ejemplo InnoDB:
Háganlo así a mi me funciono perfectamente:
create table t1(id integer not null, nombre varchar(30));
alter table t1 TYPE = InnoDB;
alter table t1 ENGINE= InnoDB;
SHOW TABLE STATUS FROM SU_DB;
(Así van a ver la diferencia del campo engine de sus tablas)
2) ABRAN EL MYSQL y pongan :
SET AUTOCOMMIT = 0
Y listo disfruten de las transacciones de MySQL
Si no ponen AUTOCOMMIT = 0 recuenden que por defecto esta en 1.
Éxitos
Les paso el link:
Engine InnoDB:
http://netmirror.org/mirror/mysql.com/books/mysqlpress/mysql-tutorial/ch10.html
Un millón de gracias ! ... anduvo impecable ! Aunque el que nos complicó bastante fue el ODBC que aunque le pongas en el string de conexión "SET AUTOCOMMIT = 0", si no deshabilitas la opción "Disable Transactions" no funciona ... pero por suerte ya está todo solucionado ... vamos a ver que sale ...
Un abrazo
Ricardo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas