Čo je to LOCK TABLES ?
MySQL umožňuje, aby klientská session uzamkla tabuľku a umožnila spoluprácu s inými session, alebo zabránila iné session modifikovať tabuľky v dobe, kedy potrebuje výhradný prístup. Session môže zámky nastaviť či uvolniť len pre seba. Session nemôže používať zámky iné session ani ich uvolniť.
Použitie:
LOCK TABLES tabuľka READ / tabuľka WRITE - uzamknutie danej tabuľky pre čítanie alebo zápis:
READ
- session so zámkom môže z tabuľky iba čítať
- je možné nastaviť tento zámok zároveň pre viacero session
- tabuľku môžu čítať aj ďalšie session bez zámku
WRITE
- session so zámkom môže čítať aj zapisovať do tabuľky
- pokiaľ zámok nie je uvoľnený, do tabuľky nemôže pristupovať iná session
- požiadavky na uzamknutie tabuľky od iných session budú blokované
UNLOCK TABLES - odomknutie všetkých zámkov danej session
Všetky zámky, ktoré session potrebuje, je potrebné nastaviť naraz. Session má potom prístup len k takto uzamknutým tabuľkám.