sql >> Database teknologi >  >> RDS >> Mysql

MySQL låsning i Duplicate Key Fejl

Jeg tror, ​​du forenkler terminologien/processen. Efter at forespørgslen er parset, og før den udføres, skal den anskaffe de nødvendige låse. Det er på dette tidspunkt, at det er fastslået, at:

  • session 1 får den eksklusive lås, fordi den indsættes, og der er ingen andre låse
  • session 2 og 3 kommer i kø for den delte lås, fordi den eksklusive lås allerede holdes af session 1, og session 2 og 3 er i en dubletnøglefejl

Ifølge ovenstående bliver session 2 og 3 sat i kø for delte låse, fordi de er i duplikatnøglefejl. Men når session 1 sletter nøglen og frigiver den eksklusive lås, får både session 2 og 3 nu tildelt delte låse. På dette tidspunkt prøver begge at anskaffe sig en eksklusiv lås for at fuldføre indsatsen. Ingen af ​​dem kan dog, fordi den anden allerede holder den fælles lås. Så eksklusiv lås er ikke givet til nogen af ​​dem, og de låser.



  1. Hvordan kan jeg få summen af ​​flere datetime-værdier?

  2. MySQL-ydelse:Enkeltbord eller flere tabeller

  3. Hvordan gemmer du et MySQL-forespørgselsresultat i en variabel i c

  4. Sideinddeling af poster på klientsideproblem