sql >> Database >  >> RDS >> Mysql

Waarom lopen twee gelijktijdige delete + insert-statements vast in een lege tabel?

De "gap" is vergrendeld in afwachting dat iemand de rij die ik probeer te verwijderen, probeert in te voegen.

Of, om het anders te bekijken... Het zou te traag zijn om elk vreemd geval perfect af te handelen. Dus, InnoDB kiest ervoor om de meeste zaken efficiënt af te handelen en op de zeldzame excentrieke zaak te trappen.

Kortom:leef ermee. Je zal impasses krijgen. Je zult ze niet per se kunnen begrijpen. Maar je code moet herstellen -- door simpelweg terug te draaien en terug te gaan naar de BEGIN .




  1. Hoe kan ik een lijst met elementnamen krijgen van een XML-waarde in SQL Server?

  2. MySQL Illegale mix van collaties

  3. SQL Server 2016:altijd versleuteld

  4. MySQL Query twee verschillende voorwaarden voor verschillende telling in 1 query