sql >> Databáze >  >> RDS >> Mysql

Je zvýšení pole v MySQL atomické?

Zápis je atomický, ale přírůstek také vyžaduje čtení. Otázka tedy zní:Jste si jisti, že čtení je bezpečné, jinými slovy, jste si jisti, že jiné vlákno provádějící přírůstek neskončí se stejnou hodnotou, která má být zvýšena? mám pochybnosti. 100% správný způsob, jak to udělat, by byl.

-- begin transaction here

select counter from myCounters where counter_id = 1 FOR UPDATE;

-- now the row is locked and nobody can read or modify its values

update myCounters set counter = ? where id = 1;

-- set ? to counter + 1 programmatically

commit; -- and unlock...


  1. připojte se k serveru postgres na výpočetním stroji Google

  2. Jak se dotazovat na hodnoty null v poli json typu postgresql?

  3. SELECT 1 z DUAL:MySQL

  4. Instalace Ubuntu 18.04 pro SQL Server 2019 na virtuálním počítači pomocí VMware Workstation