ロールバック

このステートメントは、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 TO SAVEPOINTをサポートしていません。
  • TiDB は構文を解析しますが、構文ROLLBACK AND [NO] RELEASEを無視します。この機能は MySQL で使用され、トランザクションをロールバックした直後にクライアント セッションを切断します。 TiDB では、代わりにクライアント ドライバーのmysql_close()の機能を使用することをお勧めします。
  • TiDB は構文を解析しますが、構文ROLLBACK AND [NO] CHAINを無視します。この機能は MySQL で使用され、現在のトランザクションがロールバックされている間に、同じ分離レベルで新しいトランザクションをすぐに開始します。 TiDB では、代わりに新しいトランザクションを開始することをお勧めします。

こちらもご覧ください

エコシステム
TiDB
TiKV
TiSpark
Chaos Mesh
© 2022 PingCAP. All Rights Reserved.