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

Tabel [tablename] er ikke låst

Du skal låse hvert bord , som du vil bruge indtil LOCK er frigivet. Du kan give completely_different_table_2 kun en READ LOCK , som tillader andre processer at læse denne tabel, mens den er låst:

LOCK TABLES table_1 WRITE, completely_different_table_2 READ;

PS:MySQL har en grund til at gøre det. Hvis du anmoder om en LOCK , vil du fryse en ensartet tilstand af dine data. Hvis du læser data fra completely_different_table_2 inde i din LOCK , dine data skrevet til table_1 vil på en eller anden måde afhænge af denne anden tabel. Derfor ønsker du ikke, at nogen skal ændre denne tabel under din LOCK og anmod om en READ LOCK også for dette andet bord. Hvis dine data er skrevet til table_1 afhænger ikke af den anden tabel, forespørg bare ikke på den, før LOCK er frigivet.




  1. mysqli_connect():(HY000/2002):Forbindelsen fik timeout på hosting

  2. En datamodel til en vejrapp

  3. PHP - Eksporter MySQL-tabeller til JSON-fil

  4. Mysql:udfør kommando nægtet bruger ''@'localhost' på grund af rutinefejl