START TRANSACTION

START TRANSACTION 语句用于在 TiDB 内部启动新事务。它类似于语句 BEGINSET autocommit = 0

在没有 START TRANSACTION 语句的情况下,每个语句都会在各自的事务中自动提交,这样可确保 MySQL 兼容性。

语法图

BeginTransactionStmt:

BeginTransactionStmt

示例

  1. mysql> CREATE TABLE t1 (a int NOT NULL PRIMARY KEY);
  2. Query OK, 0 rows affected (0.12 sec)
  3. mysql> START TRANSACTION;
  4. Query OK, 0 rows affected (0.00 sec)
  5. mysql> INSERT INTO t1 VALUES (1);
  6. Query OK, 1 row affected (0.00 sec)
  7. mysql> COMMIT;
  8. Query OK, 0 rows affected (0.01 sec)

MySQL 兼容性

START TRANSACTION 语句与 MySQL 完全兼容。如有任何兼容性差异,请在 GitHub 上提交 issue

另请参阅