Spec-Zone.ru › MariaDB

ДЛЯ ОБНОВЛЕНИЯ

InnoDB поддерживает блокировку на уровне строк. Выбранные строки могут быть заблокированы с помощью LOCK IN SHARE MODE или FOR UPDATE. В обоих случаях блокировка приобретается на строках, прочитанных запросом, и будет освобождена, когда текущая транзакция будет подтверждена.

Оператор FOR UPDATE из SELECT применяется только тогда, когда autocommit установлен в 0 или SELECT заключён в транзакцию. Блокировка приобретается на строках, и другие транзакции не могут записывать строки, приобретать блокировки и читать их (если их уровень изоляции READ UNCOMMITTED).

Если autocommit установлен в 1, LOCK IN SHARE MODE и FOR UPDATE операторы не действуют.

Если уровень изоляции установлен на SERIALIZABLE, все обычные SELECT операторы преобразуются в SELECT ... LOCK IN SHARE MODE.

Пример

SELECT * FROM trans WHERE period=2001 FOR UPDATE;

См. также

  • SELECT
  • LOCK IN SHARE MODE
  • Режимы блокировки InnoDB
Содержимое, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержание не проверяется заранее 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/for-update/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API