sql >> Base de Datos >  >> RDS >> Mysql

Transacciones de MySQL e inserciones simultáneas

Debe poner ambas conexiones en un nivel de aislamiento de transacciones serializable para evitar el escenario que está describiendo, ya sea configurando tx_isolation en cada conexión con:

SET @@tx_isolation = SERIALIZABLE;

o

SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;

o configurando el nivel de aislamiento global con:

SET @@global.tx_isolation = SERIALIZABLE;

o

SET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE;

que es heredado por cualquier conexión abierta posteriormente. En ese nivel, las transacciones se bloquearán en cualquier consulta si ya hay otra transacción en curso, es decir. una transacción ya ha emitido una consulta (lectura o escritura) en las mismas tablas.

Consulte la documentación de mysql para más detalles.