1
Мне нужно плюс некоторое значение для целочисленного столбца для многих записей в db. Я пытаюсь сделать это в "чистом" виде:плюс 1 для целочисленной записи для каждой записи в БД
Transaction.where("account_id = ? AND date > ?", t.account_id, t.date).
update_all("account_state = account + ?", account_offset)
или
Transaction.where("account_id = ? AND date > ?", t.account_id, t.date).
update_all("account_state += ?", account_offset)
я получаю ошибку:
QLite3::ConstraintException: constraint failed:
UPDATE "transactions" SET account_state = (account_state + ?)
WHERE (account_id = 1 AND date > '2012-03-01') AND (-10000)
Но работает "грязный" способ:
Transaction.where("account_id = ? AND date > ?", t.account_id, t.date).
update_all("account_state = account + #{account_offset}")
Есть ли какой-либо «чистый» способ сделать t его?
Спасибо, это работает! – Alexey