MySQL Atomic UPDATE in InnoDB vs MyISAM

Ist diese "Compare and Swap" -Anweisung unabhängig von der Engine (z. B. InnoDB oder MyISAM) immer atomar? :

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

Ich frage dies, weil ich beabsichtige, diese Anweisung zu verwenden, um Sperren auf Pseudozeilenebene durchzuführen, die sowohl mit transaktionsbezogenen als auch nicht-transaktionsbezogenen Datenbanktabellen kompatibel sind.

Dies ist die Methode, die istempfohlen für MyISAMIch bin mir jedoch nicht sicher, ob dies für InnoDB funktioniert, da in der Dokumentation vorgeschlagen wird, stattdessen Transaktionen zu verwenden.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage