ロールバック

このステートメントは、TiDB内の現在のトランザクション内のすべての変更を元に戻します。これはCOMMITステートメントの逆の動作です。

概要

RollbackStmt
ROLLBACKCompletionTypeWithinTransaction
CompletionTypeWithinTransaction
ANDCHAINNORELEASENOCHAINNORELEASENORELEASE

mysql> CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY); Query OK, 0 rows affected (0.12 sec) mysql> BEGIN; Query OK, 0 rows affected (0.00 sec) mysql> INSERT INTO t1 VALUES (1); Query OK, 1 row affected (0.00 sec) mysql> ROLLBACK; Query OK, 0 rows affected (0.01 sec) mysql> SELECT * FROM t1; Empty set (0.01 sec)

MySQLの互換性

  • TiDBは構文ROLLBACK AND [NO] RELEASEを解析しますが、無視します。この機能はMySQLでトランザクションのロールバック直後にクライアントセッションを切断するために使用されます。TiDBでは、代わりにクライアントドライバのmysql_close()機能を使用することをお勧めします。
  • TiDBは構文ROLLBACK AND [NO] CHAINを解析しますが、無視します。この機能はMySQLで使用され、現在のトランザクションがロールバックされている間に、同じ分離レベルで新しいトランザクションを即座に開始します。TiDBでは、代わりに新しいトランザクションを開始することが推奨されます。

参照

このページは役に立ちましたか?