Транзакции
"SQL-транзакция (транзакция) — это последовательность выполнений SQL-команд, которая атомарна с точки зрения восстановления. То есть: либо результат выполнения полностью успешен, либо он не оказывает никакого влияния на какие-либо SQL-схемы или SQL-данные."
— Стандарт SQL
Двигатель хранения InnoDB поддерживает транзакции, соответствующие спецификации ACID.
Статьи о транзакциях
| Название | Описание |
|---|---|
| START TRANSACTION | Основные инструкции управления транзакциями. |
| COMMIT | Завершает транзакцию, делая изменения видимыми для последующих транзакций |
| ROLLBACK | Отменяет текущую транзакцию и изменения данных |
| SET TRANSACTION | Устанавливает уровень изоляции транзакции. |
| LOCK TABLES | Явно блокирует таблицы. |
| SAVEPOINT | SAVEPOINT для ROLLBACK. |
| Блокировка метаданных | Блокировка, которая защищает каждую транзакцию от внешних инструкций DDL. |
| SQL-инструкции, вызывающие неявное подтверждение | Список инструкций, которые неявным образом подтверждают текущую транзакцию |
| Таймауты транзакций | Таймауты неактивных транзакций |
| UNLOCK TABLES | Явно разблокирует любые таблицы, заблокированные текущей сессией. |
| WAIT и NOWAIT | Расширенный синтаксис, позволяющий установить таймаут ожидания блокировки для определённых инструкций. |
| XA-транзакции | Транзакции, разработанные для поддержки распределённых транзакций. |
| READ COMMITTED | Каждое согласованное чтение, даже внутри одной транзакции, устанавливает и считывает свой свежий снимок. |
| READ UNCOMMITTED | Инструкции SELECT выполняются без блокировки, но возможно... |
| REPEATABLE READ | Все согласованные чтения в рамках одной транзакции считывают снимок, установленный первым чтением. |
| SERIALIZABLE | Аналогично REPEATABLE READ, с SELECT ... LOCK IN SHARE MODE, если autocommit отключен. |
Содержимое, воспроизводимое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется предварительно компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержимом, не обязательно отражают взгляды MariaDB или любой другой стороны.
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/transactions/