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

Zamyká MySql automaticky řádky nebo musím přidat zámek v režimu sdílení?

Domnívám se, že na základě vašich odpovědí na mé komentáře byste se opravdu neměli bát ruční manipulace se stolními zámky. InnoDB podporuje zamykání na úrovni řádků a se zapnutým automatickým potvrzením (jak je ve výchozím nastavení) jsou všechny jednotlivé dotazy ve skutečnosti zpracovávány transakčním způsobem.

Nyní, pokud máte více dotazů SQL, které je třeba zpracovat jako jednu transakci (tj. aktualizovat jednu tabulku a poté aktualizovat jinou tabulku – buď obě úspěšné, nebo obě budou vráceny zpět), pak byste museli konkrétně zahájit transakci a buď ji potvrdit, nebo vrátit jej zpět po provedení provizorních dotazů.

Můžete také použít SET TRANSACTION Pokud potřebujete změnit úroveň izolace transakce (ve výchozím nastavení je to `REPEATABLE READ1).

Další informace najdete v Dokumentace MySQL




  1. Jak vložit vybrané sloupce ze souboru CSV do databáze MySQL pomocí LOAD DATA INFILE

  2. Použijte SparkSession.sql() s JDBC

  3. Jak vytvořit parametrický dotaz v Accessu

  4. MySQL pořadí podle řetězce s čísly