sql >> データベース >  >> RDS >> Mysql

MySqlは自動的に行をロックしますか、それとも共有モードでロックを追加する必要がありますか?

    私のコメントに対するあなたの回答に基づいて、テーブルロックを手動で処理することを本当に心配する必要はないと思います。 InnoDBは行レベルのロックをサポートし、自動コミットが有効になっていると(デフォルトでは)、すべての個々のクエリは実際にはトランザクション方式で処理されます。

    ここで、単一のトランザクションとして処理する必要がある複数のSQLクエリがある場合(つまり、1つのテーブルを更新してから、別のテーブルを更新します-両方が成功するか、両方がロールバックされます)、トランザクションを具体的に開始してコミットするか、暫定クエリが実行された後にロールバックします。

    SET TRANSACTIONを使用することもできます トランザクション分離レベルを変更する必要がある場合のステートメント(デフォルトでは「REPEATABLEREAD1」です)。

    詳細については、MySQLドキュメント




    1. MySQLでGroupBy句を使用して行をグループ化する

    2. Djangoでスキーマを使用する方法は?

    3. MYSQL PHP警告:mysql_query()はパラメーター1が文字列であることを期待しています

    4. repmgrを使用してPostgreSQL12のレプリケーションとフェイルオーバーを自動化する方法–パート2