MySQL Atomic UPDATE в InnoDB и MyISAM

Является ли это выражение «сравнить и поменять местами» всегда атомарным, независимо от движка (, например. InnoDB или MyISAM )?:

UPDATE tbl_name SET locked=1 WHERE id=ID AND locked <> 1;

Я спрашиваю об этом, потому что собираюсь использовать этот оператор для блокировки уровня псевдостроки -, которая совместима как с транзакционными, так и с нетранзакционными таблицами базы данных -.

Это метод, который рекомендуется для MyISAM , но я не уверен, работает ли он для InnoDB, поскольку документация предлагает вместо этого использовать транзакции.

6
задан Pacerier 18 December 2014 в 07:30
поделиться