Je moet elke tafel vergrendelen , die u wilt gebruiken tot de LOCK
is vrijgegeven. Je kunt completely_different_table_2
. geven alleen een READ LOCK
, waarmee andere processen deze tabel kunnen lezen terwijl deze is vergrendeld:
LOCK TABLES table_1 WRITE, completely_different_table_2 READ;
PS:MySQL heeft daar een reden voor. Als u een LOCK
. aanvraagt , wilt u een consistente staat van uw gegevens bevriezen. Als u gegevens leest van completely_different_table_2
in je LOCK
, uw gegevens geschreven naar table_1
zal op de een of andere manier afhangen van deze andere tabel. Daarom wil je niet dat iemand deze tabel verandert tijdens je LOCK
en vraag een READ LOCK
aan ook voor deze tweede tafel. Als uw gegevens zijn geschreven naar table_1
is niet afhankelijk van de andere tabel, vraag het gewoon niet op tot de LOCK
wordt vrijgegeven.