Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Posso fazer um incremento atômico no Rails 2.3 sem cair no SQL?


Você pode usar o método de classe increment_counter :
Customer.increment_counter :counter, customer

Isso criará algo como:
UPDATE `customers` SET `counter` = COALESCE(`counter`, 0) + 1 WHERE (`customers`.`id` = 53)

(você tem que passar um id ou uma instância da classe para este método (customer ) ao contrário do customer.increment!(:counter) método que não é atômico)