MySQL が挿入などの操作を実行するときにコミットする必要があるかどうかは、ストレージ エンジンによって異なります。 MyISAM などのエンジンがトランザクションをサポートしていない場合、コミットは効果がありません。 InnoDBなどのトランザクションをサポートするエンジンの場合は、トランザクションが自動トランザクション送信(コミット)をサポートしているかどうかを知る必要があります。 データベースが自動的にコミットされるかどうかを確認するには、mysql> show variables like '%autocommit%'; を使用します。オフの場合、自動的にコミットされないため、手動でコミットする必要があります (コマンドラインで「commit;」コマンドを直接使用できます)。それ以外の場合は、自動的にコミットされます。 送信されるデータには、明示的な送信、暗黙的な送信、自動送信の 3 種類があります。 これら 3 つのタイプについて以下に説明します。 明示的なコミット COMMIT コマンドを使用して直接実行されるコミットは明示的なコミットです。 暗黙のコミット SQL コマンドによって間接的に完了する送信は暗黙的な送信です。コマンドは次のとおりです。
自動送信 AUTOCOMMITがONに設定されている場合、挿入、変更、または削除ステートメントが実行された後、 システムが自動的に送信します。これは自動送信です。形式は次のとおりです: SQL>SET AUTOCOMMIT ON; COMMIT / ROLLBACK コマンドを使用するときは注意してください。 COMMIT / ROLLBACK は、DML ステートメント (INSERT / DELETE / UPDATE / SELECT) を実行した後に使用されます。 DML ステートメントが実行されると、処理されたデータはロールバック セグメントに配置され (SELECT ステートメントを除く)、ユーザーによるコミット (COMMIT) またはロールバック (ROLLBACK) を待機します。ユーザーが COMMIT / ROLLBACK を実行すると、ロールバック セグメントに配置されたデータは削除されます。 (SELECT 文が実行されると、データは共有プールに保存されます。同じデータを他のユーザーにクエリ用に提供する場合、データベースにアクセスせずに共有プールから直接抽出されるため、データ クエリの速度が向上します。) すべての DML ステートメントは明示的にコミットする必要があります。つまり、DML ステートメントの実行後に COMMIT を実行する必要があります。 DDL ステートメントなどのその他のものは暗黙的にコミットされます。つまり、これらの非 DML ステートメントを実行した後、データベースは既に暗黙的なコミットを実行しています。たとえば、CREATE TABLE スクリプトを実行した後は、テーブルが作成されているため、明示的なコミットを実行する必要はありません。 以下もご興味があるかもしれません:
|
>>: Linux\Nginx 環境での仮想ドメイン名の設定とテスト検証
目次1. 問題のシナリオ2. 原因分析3. 解決策4. 知識を広げる4.1 クエリの最適化を制限する...
1. Flex は Flexible Box の略で、「柔軟なレイアウト」を意味し、ボックス モデル...
目次概要ハッシュプロパティホストプロパティホスト名属性Href属性起源のプロパティユーザー名とパスワ...
今日皆さんにお伝えしたいトピックは、「皆さんがよく話題にするテーブル スペースとは一体何でしょうか。...
1. まずcenterosに付属のJDKをアンインストールします rpm-qa|grepopenjd...
<br />ウェブサイトを科学的にデザインする: アイトラッキング研究から学ぶ 23 の...
この記事の例では、衝突検出を実装するためのjsの具体的なコードを参考までに共有しています。具体的な内...
この記事では、参考までに、シンプルなナビゲーションバーを実装するためのJavascriptの具体的な...
目次序文チェック制約作成、削除、表示制限要約する序文MySQL 8.0 では、チェック制約という非常...
HTML はタグと属性で構成されており、これらを組み合わせてブラウザにページの表示方法を指示します。...
構文フォーマット: row_number() over(partition by grouping ...
これは Linux 管理者にとって重要な (そして素晴らしい) トピックなので、誰もが Linux ...
MySQL のインストール時にいくつかの問題が発生しました。オンラインで見つけた回答は似たようなもの...
目次1. Node.jsとVue 2. ローカル開発環境でフロントエンドのVueプロジェクトを実行す...
1. まずMySqlの公式サイトからダウンロードします参考: https://www.jb51.ne...