Transacciones mysql

Transacciones mysql
Una transacción es una colección simultánea de funciones para manipular conjuntos de datos y se lleva a cabo como si fuera una sola entidad de trabajo. En otros términos, una transacción nunca se puede lograr hasta que cada proceso en particular sea exitoso dentro de la unidad. Todo el proceso colapsará si se bloquea alguna transacción dentro del proceso. Varias consultas de SQL se entran en una unidad, y todas ellas se ejecutarán juntas como una parte de su transacción. Cada vez que una transacción incorpora varias actualizaciones en una base de datos, y la transacción se compromete, todas las modificaciones funcionan o todas las actualizaciones se invierten cada vez que la operación se retrocede.

Propiedades de transacción

Transacciones, con frecuencia conocidas por el término ÁCIDO, tener cuatro propiedades generales principales.

  • Atomicidad: Esto garantiza que todas las tareas dentro de la unidad de trabajo se completen con éxito; más, justo en el punto de falla, el proceso se termina y los procesos anteriores se restauran a su estado anterior.
  • Consistencia: Esto significa que en un proceso suficientemente comprometido, la base de datos actualiza el estado adecuadamente.
  • Aislamiento: Ayuda a las transacciones a trabajar entre sí y individualmente y transparentemente.
  • Durabilidad: Esto se asegura de que en caso de desglose del sistema, el resultado o consecuencia de una transacción comprometida conserva.

Transacciones mysql funcionando:

Dentro de MySQL, los dos términos, compromiso y reversión se usan principalmente solo para las transacciones mysql. Las transacciones comienzan solo con la declaración de trabajo de comenzar y terminan mediante una declaración de confirmación o una declaración de reversión. Las instrucciones de SQL comprenden la mayoría de la transacción entre las declaraciones de inicio y detención. Dicha serie de eventos es independientemente del lenguaje de programación específico utilizado. Hará una ruta adecuada en cualquier idioma que esté utilizando para construir la aplicación. Las declaraciones SQL a continuación se pueden implementar utilizando la función MySQL Query ().

  • COMENZAR: Inicie su proceso o transacción proporcionando la instrucción SQL Begin Work.
  • Agregar comando SQL: una o incluso más declaraciones SQL como seleccionar, insertar, actualizar y eliminar, respectivamente. Confirme incluso si no hay error y todo cumple con sus expectativas.
  • COMPROMETERSE: La instrucción de confirmación debe imponerse después de realizar una transacción exitosa, de modo que las modificaciones a todas las tablas asociadas pueden tener un efecto completo.
  • RETROCEDER: Si se produce un mal funcionamiento, es apropiado enviar una instrucción de reversión para revertir cada tabla especificada en la transacción hacia su condición anterior.
  • Autocommit: Por defecto, MySQL aplica las modificaciones de forma permanente a una base de datos. Si Autocommit se establece en 1 (estándar), entonces se supone que cada consulta SQL (ya sea dentro de una transacción) es una transacción completa y se compromete hasta que se complete por defecto. Para evitar la confirmación automática, configure el autocommit en 0.

Ejemplo 01: modo automático en:

MySQL opera con la fase automotriz permitida a través del valor predeterminado. Asegura que MySQL guarde los cambios en el disco para crearlo perpetuamente siempre que ejecutemos una consulta que ajuste (altere) una tabla. No es necesario retroceder el movimiento. Probemos con el modo Autocommitio en el modo. Abra su shell de línea de comandos mysql y escriba su contraseña para comenzar.

Tome un ejemplo de una tabla 'libro' que se haya creado en una base de datos 'Datos'. En este momento, todavía no hemos realizado ninguna consulta.

>> seleccionar * de los datos.libro;

Paso 2: Este proceso es actualizar la tabla 'libro'. Actualicemos el valor de la columna 'autor' donde el 'nombre' de un libro es 'Inicio'. Puedes ver que los cambios se han realizado con éxito.

>> actualizar datos.book set autor = 'Cristian Steward' Where Name = 'Home';

Al ver la tabla actualizada, tenemos un valor modificado del autor donde 'Nombre' es 'Inicio'.

>> seleccionar * de los datos.libro;

Usemos el comando de reversión para revertir los cambios simplemente agregando la consulta a continuación. Puede ver que la consulta de reversión no funciona aquí, ya que muestra que '0 filas afectadas'.

>> reversión;

Incluso puedes ver la mesa también. La tabla no tiene cambios después de la ejecución de la declaración de reversión hasta ahora. Esto significa que la reversión no funciona cuando tenemos un autocommit de forma predeterminada.

>> seleccionar * de los datos.libro;

Ejemplo 02: Modo de autocommitio apagado:

Para revertir los cambios realizados, intentemos con el modo Autocommitt Off. Usando el mismo ejemplo de 'libro' de tabla, realizaremos algunos cambios en él. Usaremos la Declaración de transacción de inicio para desactivar su fase de autocomita o simplemente escribir el siguiente comando para establecer Autocommit.

>> establecer autocommit = 0;

Digamos que tenemos la misma tabla 'libro' en nuestra base de datos, y tenemos que hacer cambios en ella. Luego vuelva a invertir esos cambios en los viejos.

>> seleccionar * de los datos.libro;

Si no ha desactivado el modo automático, entonces comience con una consulta de transacciones de inicio en el shell de línea de comandos como se muestra a continuación.

>> Iniciar transacción;

Actualizaremos la misma tabla utilizando el comando de actualización configurando el 'autor' como 'aliana' donde el 'nombre' de un libro es 'sueño'. Hazlo usando el siguiente comando. Verá que los cambios se realizarán de manera exitosa y efectiva.

>> actualizar datos.conjunto de libros Autho = 'Aliana' Where Name = 'Dream';

Compruebemos si la consulta anterior ha funcionado perfectamente e hizo cambios en la mesa o no. Puede verificar la tabla actualizada utilizando el siguiente comando seleccionar como siempre.

>> seleccionar * de los datos.libro;

Puede ver que la consulta ha funcionado muy bien, como se muestra a continuación.

Ahora, es un giro del comando de reversión para realizar su función. Pruebe el comando de reversión en su línea de comando para revertir la actualización reciente a la tabla.

>> reversión;

Compruebemos si la consulta de reversión se ha funcionado como debería funcionar o no. Para esto, debe revisar la tabla 'libro' nuevamente utilizando el comando 'Seleccionar' como siempre.

>> seleccionar * de los datos.libro;

Puede ver en la salida a continuación que la reversión finalmente ha funcionado. Ha revertido los cambios realizados por la consulta de actualización en esta tabla.

Conclusión:

Eso es todo para las transacciones mysql. Espero que esta guía te ayude a realizar transacciones mySQL convenientemente.