Co je to LOCK TABLES ?
MySQL umožňuje, aby klientská session uzamčela tabulku a umožnila spolupráci s jinými session, nebo zabránila jiné session modifikovat tabulky v době, kdy potřebuje výhradní přístup. Session může zámky nastavit či uvolnit pouze pro sebe. Session nemůže používat zámky jiné session ani je uvolnit.
Použití:
LOCK TABLES tabulka READ / tabulka WRITE - uzamčení dané tabulky pro čtení nebo zápis:
READ
- session se zámkem může z tabulky pouze číst
- je možné nastavit tento zámek zároveň pro více session
- tabulku mohou číst i další session bez zámku
WRITE
- session se zámkem může číst i zapisovat do tabulky
- dokud zámek není uvolněn, do tabulky nemůže přistupovat jiná session
- požadavky na uzamčení tabulky od jiných sesion budou blokovány
UNLOCK TABLES - odemčení všech zámků dané session
Všechny zámky, ktere session potřebuje, je třeba nastavit najednou. Session má pak přístup pouze k takto uzamčeným tabulkám.