MySQL データベースのトランザクション操作と自動送信メカニズム
データベース システムでは、トランザクションとは一連のデータベース操作を指します。これらの操作はすべて正常に実行されるか、またはすべて失敗し、トランザクションが開始される前の状態にロールバックされます。 MySQL データベースは、トランザクション操作とトランザクション制御をサポートする、一般的に使用されるリレーショナル データベース管理システムです。 MySQL では、自動コミット メカニズムが重要な概念です。自動コミット メカニズムがオンになっている場合、各 SQL ステートメントはトランザクションとして扱われ、コミット操作がすぐに実行されます。逆に、自動コミット メカニズムがオフになっている場合は、SQL ステートメントのコミットまたはロールバックを手動で制御する必要があります。トランザクション。
以下では、MySQL データベースにおけるトランザクション操作と自動送信の仕組みの具体的な内容を、コード例を添付して紹介します。
#自動送信メカニズムのオンとオフを切り替える-
MySQL では、次のステートメントを使用して自動送信メカニズムをオンまたはオフにできます。
-- 自動送信をオンにする
自動コミット = 1 を設定します。
-- 自動送信をオフにする
SET autocommit = 0;
トランザクション操作を手動で制御する-
自動コミット メカニズムがオフになっている場合、次のステートメントを使用してトランザクションのコミットとロールバックを手動で制御できます。 :
-- トランザクションを開始します
トランザクションを開始します。
-- トランザクションを送信する
専念;
--ロールバックトランザクション
ROLLBACK;
トランザクション操作の例-
次に、簡単な例を使用して、トランザクション操作の具体的なプロセスを示します。
students という名前のテーブルがあり、2 つのフィールド
id と
name が含まれているとします。
まず、テーブル
students:
CREATE TABLE students (
id INT 主キー、
名前 VARCHAR(50)
);
次に、レコードを挿入して自動送信をオフにします:
-- 自動送信をオフにする
SET 自動コミット = 0;
-- トランザクションを開始します
トランザクションを開始します。
--レコードの挿入
INSERT INTO students VALUES (1, 'Alice');
次に、レコードを再度挿入します:
INSERT INTO students VALUES (2, 'Bob');
Thisの場合、トランザクションをコミットするか、トランザクションをロールバックするかを選択できます:
-- トランザクションをコミットする
専念;
-- またはトランザクションをロールバックします
ROLLBACK;
上記の例を通じて、トランザクション操作の基本的なフローと、トランザクションのコミットとロールバックを手動で制御する方法を確認できます。実際のアプリケーションでは、トランザクション操作によりデータの整合性と一貫性が保証されます。これは、複数の操作が関係する場合に特に重要です。
以上、MySQL データベースにおけるトランザクション操作と自動送信の仕組みについてご紹介しましたので、ご参考になれば幸いです。
以上がMySQL データベースのトランザクション操作と自動送信メカニズムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。