OceanBase logo

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

プロダクト概要
デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

ドキュメント

会社概要

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

トラストセンター

法的情報

お問い合わせ

日本 - 日本語
International - English
中国站 - 简体中文
クラウドで始める

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

プロダクト概要
デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

トラストセンター

法的情報

お問い合わせ

クラウドで始める
编组
すべての製品
    • データベース
    • アイコンOceanBaseデータベース
    • アイコンOceanBase Cloud
アイコン

OceanBase Cloud

すべてのバージョン

    OceanBase ロゴ

    AI時代を支える分散データベース

    日本 - 日本語
    International - English
    中国站 - 简体中文
    プロダクト
    OceanBase Cloudエンタープライズ版コミュニティ版OceanBase seekdb
    会社概要
    OceanBaseについてトラストセンター法的情報お問い合わせ
    公式アカウント
    ConnpassXQiitaLumaGitHub

    © OceanBase 2026. All rights reserved

    クラウドサービス契約個人情報保護ポリシーセキュリティ
    お問い合わせ
    ドキュメントフィードバック
    1. ホーム
    2. OceanBase Cloud
    3. master
    アイコンOceanBase Cloud
    master
    データベース
    • OceanBaseデータベース
    • OceanBase Cloud
    • master

    トランザクションのコミット

    最終更新日:2026-06-08 08:05:36  更新
    シェア
    このページの内容
    トランザクションのコミット
    トランザクションの明示的なコミット
    トランザクションの暗黙的コミット
    関連ドキュメント

    折りたたみ

    シェア

    トランザクションをコミットすると、トランザクションによる変更が永続的に有効になり、セーブポイントがクリアされ、トランザクションが保持していたすべてのロックが解放されます。

    トランザクションのコミット

    OceanBaseデータベースでは、トランザクションのコミットを明示的または暗黙的に行うことができます。明示的にトランザクションをコミットするには、COMMIT ステートメントを使用するか、コミットボタン(グラフィカルクライアントツール内)を押してトランザクションを終了します。暗黙的にトランザクションをコミットする場合、ユーザーがコミットする必要はありません。変数 autocommit の値が1の場合、OceanBaseデータベースは各ステートメントの実行後に、そのステートメントを含むトランザクションを自動的にコミットします。この場合、1つのステートメントが1つのトランザクションとなります。

    説明

    OceanBaseデータベースは、DDLステートメントの前後で暗黙的に COMMIT ステートメントを発行し、トランザクションもコミットします。

    • BEGIN でトランザクションを開始し、DMLステートメントを実行した後は、COMMIT でトランザクションをコミットする必要があります。

      • トランザクションをコミットするまで、変更内容は現在のセッションにのみ表示され、他のデータベースセッションからは見えません。変更は永続化されていないため、最終的な結果ではなく、ROLLBACK ステートメントでこれらの変更をロールバックできます。

      • トランザクションをコミットすると、変更内容がすべてのデータベースセッションに表示されます。変更結果は永続化されるため、ROLLBACK ステートメントでこれらの変更をロールバックすることはできません。

      説明

      トランザクション分離レベルがリピータブルリードに設定されている場合、既にトランザクションを開始しているセッションは、新しくコミットされたデータをクエリできません。トランザクション分離レベルの詳細については、トランザクション分離レベルを参照してください。

    • 暗黙的にトランザクションを使用する場合(自動トランザクションコミットが有効、つまり autocommit=1 の場合)、1つのSQLが1つのトランザクションとなり、トランザクションをコミットする必要はありません。SQL実行後、変更は永続化されるため、ROLLBACK ステートメントでこれらの変更をロールバックすることはできません。

    トランザクションの明示的なコミット

    BEGIN でトランザクションを開始し、INSERT ステートメントを使用して ordr テーブルにデータを挿入し、最後に COMMIT ステートメントでトランザクションを明示的にコミットします。

    obclient [test]> SELECT * FROM ordr;
    +----+------+-------+---------------------+
    | id | name | value | gmt_create          |
    +----+------+-------+---------------------+
    |  1 | CN   | 10001 | 2022-10-19 14:51:12 |
    |  2 | US   | 10002 | 2022-10-19 14:51:12 |
    |  3 | EN   | 10003 | 2022-10-19 14:51:12 |
    +----+------+-------+---------------------+
    3 rows in set
    
    obclient [test]> BEGIN;
    Query OK, 0 rows affected
    
    obclient [test]> INSERT INTO ordr(id,name) VALUES(4,'JP');
    Query OK, 1 row affected
    
    obclient [test]> COMMIT;
    Query OK, 0 rows affected
    
    // 実行が成功した後、セッションを終了して再接続すると、テーブルデータが正しく挿入され、正常に保存されていることが確認できます。
    
    obclient [test]> exit;
    
    $obclient -h192.168.0.0 -ut***@obbmsql#obdemo -P2883 -p******  test
    Welcome to the OceanBase.  Commands end with ; or \g.
    Your OceanBase connection id is 3221487662
    Server version: OceanBase 4.0.0.0 (r100000252022102910-df01cef074936b9c9f177697500fad1dc304056f) (Built Oct 29 2022 10:27:50)
    
    Copyright (c) 2000, 2018, OceanBase and/or its affiliates. All rights reserved.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    obclient [test]> SELECT * FROM ordr;
    +----+------+-------+---------------------+
    | id | name | value | gmt_create          |
    +----+------+-------+---------------------+
    |  1 | CN   | 10001 | 2022-10-19 14:51:12 |
    |  2 | US   | 10002 | 2022-10-19 14:51:12 |
    |  3 | EN   | 10003 | 2022-10-19 14:51:12 |
    |  4 | JP   |  NULL | 2022-10-19 14:51:44 |
    +----+------+-------+---------------------+
    4 rows in set
    

    トランザクションの暗黙的コミット

    変数 autocommit=1 を設定することで、自動コミットを有効にします。

    obclient [test]> SELECT * FROM ordr;
    +----+------+-------+---------------------+
    | id | name | value | gmt_create          |
    +----+------+-------+---------------------+
    |  1 | CN   | 10001 | 2022-10-19 14:51:12 |
    |  2 | US   | 10002 | 2022-10-19 14:51:12 |
    |  3 | EN   | 10003 | 2022-10-19 14:51:12 |
    |  4 | JP   |  NULL | 2022-10-19 14:51:44 |
    +----+------+-------+---------------------+
    4 rows in set
    
    obclient [test]> SET autocommit=1;
    
    obclient [test]>  INSERT INTO ordr(id,name) VALUES(5,'CN');
    Query OK, 1 row affected
    

    実行が成功した後、セッションを終了して再接続すると、テーブルデータが正しく挿入され、正常に保存されていることが確認できます。

    obclient [test]> exit;
    
    $obclient -h192.168.0.0 -utpcc@obbmsql#obdemo -P2883 -p******  test
    Welcome to the OceanBase.  Commands end with ; or \g.
    Your OceanBase connection id is 3221487662
    Server version: OceanBase 4.0.0.0 (r100000252022102910-df01cef074936b9c9f177697500fad1dc304056f) (Built Oct 29 2022 10:27:50)
    
    Copyright (c) 2000, 2018, OceanBase Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    obclient [test]> SELECT * FROM ordr;
    +----+------+-------+---------------------+
    | id | name | value | gmt_create          |
    +----+------+-------+---------------------+
    |  1 | CN   | 10001 | 2022-10-19 14:51:12 |
    |  2 | US   | 10002 | 2022-10-19 14:51:12 |
    |  3 | EN   | 10003 | 2022-10-19 14:51:12 |
    |  4 | JP   |  NULL | 2022-10-19 14:51:44 |
    |  5 | CN   |  NULL | 2022-10-19 14:53:56 |
    +----+------+-------+---------------------+
    5 rows in set
    

    関連ドキュメント

    • トランザクションの開始

    前のトピック

    セーブポイントの解放
    最後

    次のトピック

    トランザクションのロールバック
    次
    このページの内容
    トランザクションのコミット
    トランザクションの明示的なコミット
    トランザクションの暗黙的コミット
    関連ドキュメント