sql >> Databasteknik >  >> RDS >> Mysql

MySQL-transaktioner och samtidiga insättningar

Du måste sätta båda anslutningarna i serialiserbar transaktionsisoleringsnivå för att undvika scenariot du beskriver, antingen genom att ställa in tx_isolation på varje anslutning med:

SET @@tx_isolation = SERIALIZABLE;

eller

SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;

eller genom att ställa in den globala isoleringsnivån med:

SET @@global.tx_isolation = SERIALIZABLE;

eller

SET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE;

som ärvs av varje senare öppnad anslutning. På den nivån kommer transaktioner att blockera eventuella förfrågningar om en annan transaktion redan pågår, dvs. en transaktion har redan skickat en fråga (läs eller skriv) på samma tabeller.

Se mysql-dokumentationen för ytterligare information.



  1. virtualenv, mysql-python, pip:någon som vet hur?

  2. T_BOOLEAN_AND fel?

  3. EBS 12.2.5 och högre:Feljustering av inloggningssidans knapp

  4. Hur får man och visar de största värdena från en databas?