Når et bord er låst i en bestemt økt, kan ikke andre økter lese eller skrive til bordet med mindre låsen fra økten er utgitt. Derfor er alle andre økter i ventemodus til låsen er utgitt.
Denne korte guiden vil vise deg hvordan du viser tilgjengelige låser ved hjelp av kommandoen for showprosessliste.
Hvordan låse et bord
For å anskaffe en låsetilstand på et bestemt bord, kan du bruke uttalelsen om låsbord. Den generelle syntaksen for låsebord er:
mysql> låsetabeller tb_name [lock_type]I låsetypen kan du spesifisere lese eller lese lås. Eksemplet nedenfor angir skrivelåsen på skuespillertabellen.
Låsebord Sakila.Skuespiller leste;Når du har lockset, vil ikke alle de andre øktene oppdatere noen data som er lagret i tabellen.
For eksempel vil følgende uttalelse mislykkes med mindre tabellen er låst opp.
Sett inn Sakila.skuespiller (første_navn, last_name, last_update) verdier ('hallo', 'verden', current_date ());MySQL vil gi deg en lesefeil som:
Feil 1099 (HY000): Tabell 'Actor' ble låst med en leselås og kan ikke oppdateresHvordan låse opp et bord
For å låse opp en tabell, bruk spørringen for låse tabeller som:
mysql> låse opp tabeller;Vis låste bord
Som standard er det ingen definitive måte du kan spørre for å vise for låst bord som: (vis låste tabeller;).
Vi kan imidlertid bruke en prosesslistekommando for å vise de låste tabellene og brukerne.
Bruk kommandoen:
Vis prosessliste;Dette vil dumpe informasjonen så vel som spørsmålene som venter på å låse.
Eksemplet ovenfor viser rotbrukeren som låser tabellen i skuespillertabellen.
Konklusjon
Denne korte opplæringen viste deg hvordan du låser og låser opp tabeller og ser brukerne som har en tabell låst i en database.