Autor Tema: ¿Como desactivar el autocommit en MySQL?  (Leído 6155 veces)

0 Usuarios y 1 Visitante están viendo este tema.

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
¿Como desactivar el autocommit en MySQL?
« en: Enero 01, 2015, 11:59:52 pm »
Le he tirado esto: SET AUTOCOMMIT=0 pero no surge ningún efecto, vi por allí que debía deshabilitar la opción Disable Transactions pero no indican donde, si es algún registro o desde el phpmyadmin... Lo que necesito es que las transacciones no sean automáticas ¿Alguien sabe como hacerlo?

Gracias

EDITO: Aclaro que mis tablas son del tipo MyISAM, no se si tendrá que ver y el motor es 5.0, no le puse 5.5 porque cuando escojo esa versión el hosting me permite hacer conexiones remotas a la BD, con la 5 si. La base de datos esta en un hosting de pago.
« última modificación: Enero 02, 2015, 12:02:26 am por YAcosta »
Me encuentras en YAcosta.com

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:¿Como desactivar el autocommit en MySQL?
« Respuesta #1 en: Enero 02, 2015, 12:07:06 am »
Me voy respondiendo, ya veo que no debo usar el motor MyISAM, ahora voy a averiguar como cambiar de MyISAM a INNODB, ojala con esto se resuelva.
Me encuentras en YAcosta.com

Luffy

  • Kilobyte
  • **
  • Mensajes: 90
  • Reputación: +4/-2
  • Desarrollar es el arte de crecer no de crear.
    • Ver Perfil
Re:¿Como desactivar el autocommit en MySQL?
« Respuesta #2 en: Enero 05, 2015, 01:24:35 am »
YAcosta muy buenas noches, quisiera saber para que quisieras desactivar esta función.?

Bueno el Automomit es una propiedad de la conexión que estas realizando. en vb6 deberia de ser algo de la siguiente forma

Código: [Seleccionar]
Dim Cn as new mysqlconnection
cn.connectionstring = "La Cadena de Conexion"
cn.autocommit = false
cn.open

De eso me recuerdo, ahora en el mysql lo puedes hacer de la misma forma pero en la consola

Código: [Seleccionar]
START TRANSACTION [WITH CONSISTENT SNAPSHOT] | BEGIN [WORK]
COMMIT
ROLLBACK
SET autocommit = {0 | 1}

Te dejo un Link: http://dev.mysql.com/doc/refman/4.1/en/commit.html
« última modificación: Enero 05, 2015, 01:30:15 am por Luffy »

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:¿Como desactivar el autocommit en MySQL?
« Respuesta #3 en: Enero 05, 2015, 03:52:32 am »
Gracias Lufy.

Necesito desactivar el autocommit para controlar las transacciones ya que en una operación realizare la manipulación de varias tablas (muchas de ellas son cabecera/detalle) y el sistema será atacada por varios terminales a la vez, con autocommit tendría un gran problema (tema de transacciones)-- aclaro que por el tipo de diseño no hay relaciones de dependencia creadas en la misma BD, eso lo vemos por fuera (política).

Había dejado unos dias este asunto después de que vi que mis tablas debían estar con el engine INNODB y lo había dejado allí (no manyaba mucho esto porque no trabajo con MySQL pero dado que la BD esta en un hosting no me queda de otra, lastima que no hallan hosting con firebird) puesto que debo hacer la conversión de las tablas ya creadas, de allí no investigue mas, pero haciéndolo al InnoDB y luego poniendo cn.autocommit = false se resuelve... entonces seré feliz.

Muchas gracias.
Me encuentras en YAcosta.com