【发布时间】:2023-03-28 16:14:01
【问题描述】:
假设我有如下的哈希值。可以使用“update”来更新所有记录,如下所示。
people = { 1 => { "first_name" => "David", "last_name" => "Freeman" }, 2 => { "first_name" => "Jeremy", "last_name" => "Stone" } .....}
Person.update(people.keys, people.values)
这将为每条记录运行一个 UPDATE 查询。如何使用“update_all”来实现对所有记录运行单个查询的目的?
参考 (this) 但找不到解决方案。
提前致谢。
【问题讨论】:
-
@SRack 如果我需要更新一些参数并为每条记录使用不同的值,我无法弄清楚参数应该是什么。
-
一个普通的 SQL 查询在您尝试使用 ActiveRecord 构建的情况下如何?
-
@spickermann 在重复密钥更新 first_name= 时插入 person(id,first_name,last_name) 值 (1,"David","Freeman"), (2,"Jeremy","Stone")值(名字),姓氏=值(姓氏);
标签: sql ruby-on-rails ruby