TiDBTiDB Docs Dash 2024

Jan 9 - Jan 12 (UTC)
Join us to improve docs and win a prize!
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

Was this page helpful?

Download PDFRequest docs changesAsk questions on Discord
Playground
New
One-stop & interactive experience of TiDB's capabilities WITHOUT registration.
Products
TiDB
TiDB Dedicated
TiDB Serverless
Pricing
Get Demo
Get Started
© 2024 PingCAP. All Rights Reserved.
Privacy Policy.