【发布时间】:2014-05-28 22:52:28
【问题描述】:
update table_name set filename = CONCAT(filename, "test") where id = 111
如何在 Rails 中使用 ActiveRecord 语法编写上述 SQL?
【问题讨论】:
标签: sql ruby-on-rails activerecord
update table_name set filename = CONCAT(filename, "test") where id = 111
如何在 Rails 中使用 ActiveRecord 语法编写上述 SQL?
【问题讨论】:
标签: sql ruby-on-rails activerecord
如果您有与给定表关联的模型,您可以这样做:
m = Model.find(111)
m.update_column(:filename, m.filename + 'test')
如果要更新多条记录:
Model.update_all('filename = CONCAT(filename, "test")')
或用条件限制元素的范围:
Model.where(...).update_all(...)
【讨论】:
id 作为主键是 Rails 的惯例,您至少应该在问题中提及它。