Mysql
 sql >> Base de données >  >> RDS >> Mysql

Puis-je faire une incrémentation atomique dans Rails 2.3 sans passer à SQL ?

Vous pouvez utiliser la méthode de classe increment_counter :

Customer.increment_counter :counter, customer

Cela créera quelque chose comme :

UPDATE `customers` SET `counter` = COALESCE(`counter`, 0) + 1 WHERE (`customers`.`id` = 53)

(vous devez passer soit un identifiant soit une instance de la classe dans cette méthode (customer ) contrairement à customer.increment!(:counter) méthode qui n'est pas atomique)