---
title: "START TRANSACTION"
url: "https://docs.yugabyte.com/stable/api/ysql/the-sql-language/statements/txn_start/"
---

# START TRANSACTION

Use the `START TRANSACTION` statement to start a transaction with the default (or specified) isolation level.

## Synopsis

Use the `START TRANSACTION` statement to start a transaction with the default (or specified) isolation level.

## Syntax

- [![Grammar Icon](/icons/file-lines.svg)Grammar](#grammar-1)
- [![Diagram Icon](/icons/diagram.svg)Diagram](#diagram-1)

```output.ebnf
start_transaction ::= START TRANSACTION [ transaction_mode [ ... ] ]
```

#### start\_transaction

STARTTRANSACTION[transaction\_mode](/stable/api/ysql/syntax_resources/grammar_diagrams#transaction-mode)

## Semantics

The `START TRANSACTION` statement is simply an alternative spelling for the [`BEGIN`](/stable/api/ysql/the-sql-language/statements/txn_begin "BEGIN") statement. The syntax that follows `START TRANSACTION` is identical to that syntax that follows `BEGIN [ TRANSACTION | WORK ]`. And the two alternative spellings have identical semantics.

## See also

- [ABORT](/stable/api/ysql/the-sql-language/statements/txn_abort "ABORT")
- [BEGIN](/stable/api/ysql/the-sql-language/statements/txn_begin "BEGIN")
- [COMMIT](/stable/api/ysql/the-sql-language/statements/txn_commit "COMMIT")
- [END](/stable/api/ysql/the-sql-language/statements/txn_end "END")
- [ROLLBACK](/stable/api/ysql/the-sql-language/statements/txn_rollback "ROLLBACK")
- [SET TRANSACTION](/stable/api/ysql/the-sql-language/statements/txn_set "SET TRANSACTION")
