Pregunta

ejemplo: hacer una transferencia de pago del usuario A al usuario B. Cuenta de usuario A: -10 USD Cuenta de usuario B: +10 USD

Si hay una transacción, y algo va mal, todo se deshace. Así, con transacciones que no suceda que la cuenta de usuario A recibe disminuido en un 10, mientras que la cuenta de usuario B no consigue aumentó en un 10.

Sé que la gente java hacen uso de las transacciones y reversiones por todo el lugar. Pero nunca he oído hablar de PHP-chicos haciendo eso.

No hay solución correcta

Otros consejos

$db = new mysqli("localhost", "", "", "");
$db->autocommit(FALSE);
if ($db->query("INSERT ..."))
    $db->commit();
else
    $db->rollback();

Asegúrese de que sus tablas utilizan motores InnoDB:. MyISAM no admite transacciones

Actualizar el comentario

InnoDB es uno de los dos motores de almacenamiento principales utilizados por MySQL, siendo el otro MyISAM.

MySQL viene con soporte InnoDB compilado por defecto y, de hecho, se necesita un poco de esfuerzo para desactivarlo.

Nunca he oído hablar de MySQL con InnoDB deshabilitado incluso más barato de los proveedores de alojamiento.

Si utiliza PDO, también tiene soporte de transacciones

http://us2.php.net/manual/en/pdo .begintransaction.php

Como ya se dijo, asegúrese de usar el motor de almacenamiento InnoDB.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top