PingKai Logo下载

BEGIN

BEGIN 语句用于在 TiDB 内启动一个新事务,类似于 START TRANSACTIONSET autocommit=0 语句。

在没有 BEGIN 语句的情况下,每个语句默认在各自的事务中自动提交,从而确保 MySQL 兼容性。

语法图

BeginTransactionStmt
BEGIN PESSIMISTIC OPTIMISTIC START TRANSACTION READ WRITE ONLY WITH TIMESTAMP BOUND TimestampBound WITH CONSISTENT SNAPSHOT

示例

CREATE TABLE t1 (a int NOT NULL PRIMARY KEY);
Query OK, 0 rows affected (0.12 sec)
BEGIN;
Query OK, 0 rows affected (0.00 sec)
INSERT INTO t1 VALUES (1);
Query OK, 1 row affected (0.00 sec)
COMMIT;
Query OK, 0 rows affected (0.01 sec)

MySQL 兼容性

TiDB 支持 BEGIN PESSIMISTICBEGIN OPTIMISTIC 的语法扩展,用户可以为某一个事务覆盖默认的事务模型。

另请参阅