START TRANSACTION
This statement starts a new transaction inside of TiDB. It is similar to the statements BEGIN and SET autocommit=0.
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:

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
This statement is understood to be partly compatible with MySQL.
START TRANSACTIONimmediately starts a transaction inside TiDB. This differs from MySQL, whereSTART TRANSACTIONlazily creates a transaction unless the modifierSTART TRANSACTION WITH CONSISTENT SNAPSHOTis used.READ ONLYand its extended options are only syntactically compatible, and its effect is equivalent toSTART TRANSACTION.
Any compatibility differences should be reported via an issue on GitHub.