sql >> Databáze >  >> RDS >> Mysql

Tabulka [název_tabulky] není uzamčena

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.




  1. Co je jarní integrace?

  2. Sloupec nemůže mít hodnotu null Mysql

  3. Zřetězení mnoha řádků do jednoho textového řetězce se seskupením

  4. Jediný příkaz MySQL pro sloučení dvou tabulek