Sign InTry Free

START TRANSACTION

This statement starts a new transaction inside of TiDB. It is similar to the statement BEGIN.

In the absence of a START TRANSACTION statement, every statement will by default autocommit in its own transaction. This behavior ensures MySQL compatibility.

Synopsis

BeginTransactionStmt:

BeginTransactionStmt
BEGINPESSIMISTICOPTIMISTICSTARTTRANSACTIONREADWRITEONLYWITHTIMESTAMPBOUNDTimestampBoundAsOfClauseWITHCONSISTENTSNAPSHOTWITHCAUSALCONSISTENCYONLY
AsOfClause
ASOFTIMESTAMPExpression

Examples

mysql> CREATE TABLE t1 (a int NOT NULL PRIMARY KEY);
Query OK, 0 rows affected (0.12 sec)

mysql> START TRANSACTION;
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO t1 VALUES (1);
Query OK, 1 row affected (0.00 sec)

mysql> COMMIT;
Query OK, 0 rows affected (0.01 sec)

MySQL compatibility

  • START TRANSACTION immediately starts a transaction inside TiDB. This differs from MySQL, where START TRANSACTION lazily creates a transaction. But START TRANSACTION in TiDB is equivalent to MySQL's START TRANSACTION WITH CONSISTENT SNAPSHOT.

  • The statement START TRANSACTION READ ONLY is parsed for compatibility with MySQL, but still allows write operations.

See also

Download PDFRequest docs changes
Was this page helpful?
Open Source Ecosystem
TiDB
TiKV
TiSpark
Chaos Mesh
© 2022 PingCAP. All Rights Reserved.