Musíte zamknout každý stůl , který chcete používat až do LOCK
je vydána. Můžete zadat completely_different_table_2
pouze READ LOCK
, což umožňuje ostatním procesům číst tuto tabulku, když je uzamčena:
LOCK TABLES table_1 WRITE, completely_different_table_2 READ;
PS:MySQL k tomu má důvod. Pokud požadujete LOCK
, chcete zmrazit konzistentní stav vašich dat. Pokud čtete data z completely_different_table_2
uvnitř vašeho LOCK
, vaše data se zapíší do table_1
bude nějakým způsobem záviset na této druhé tabulce. Proto nechcete, aby někdo měnil tuto tabulku během vašeho LOCK
a požádejte o READ LOCK
i pro tento druhý stůl. Pokud jsou vaše data zapsána do table_1
nezávisí na druhé tabulce, jednoduše se na ni neptejte, dokud LOCK
je propuštěn.