MySQLと同様、InfiniDBはデフォルトではオートコミット機能が有効になっています。
そのため、コミットを発行していなくてもINSERT等のDML処理が完了した時点で内部的にそのSQLは自動でコミットされます。

オートコミット機能を無効にする場合は、以下の何れかの方法を実施してください。

■トランザクションの開始を宣言する

DML処理を実行する前に、BEGIN、START TRANSACTION、またはBEGIN WORKの何れかを実行して、トランザクションの開始を明示的に宣言します。

この場合は、オートコミット機能が一時的に無効になり、コミット、またはロールバックが発行されるまで、そのトランザクションはコミット(ロールバック)されません。コミット、またはロールバックが発行されるとオートコミットが再度有効になるため、毎回トランザクションの開始を宣言する必要があります。


■セッションシステム変数を変更する

InfiniDBにログイン中のセッション内でSET autocommit=0を実行します。


この場合は、ログアウトしてセッションが終了するまではオートコミットが無効になります。そのため、明示的にトランザクションの開始を宣言しなくても、コミットやロールバックを発行することが可能になります。