Rails中有类似批量更新的东西吗?

2024-04-25

在Java中,我们有像下面的java代码这样的批处理执行:

Statement statement = null;
statement = connection.createStatement();
statement.addBatch("update people set firstname='John' where id=123");
statement.addBatch("update people set firstname='Eric' where id=456");
statement.addBatch("update people set firstname='May'  where id=789");

int[] recordsAffected = statement.executeBatch();

如何在rails ActiveRecord 中做同样的事情?


你可以尝试一下。看起来就像你所追求的。

# Updating multiple records:
people = { 1 => { "first_name" => "David" }, 2 => { "first_name" => "Jeremy" } }
Person.update(people.keys, people.values)

Quoted: https://cbabhusal.wordpress.com/2015/01/03/updating-multiple-records-at-the-same-time-rails-activerecord/ https://cbabhusal.wordpress.com/2015/01/03/updating-multiple-records-at-the-same-time-rails-activerecord/

为了满足职位要求,它可以翻译为:

people = { 
  123 => { "firstname" => "John" },
  456 => { "firstname" => "Eric" },
  789 => { "firstname" => "May" }
}
Person.update(people.keys, people.values)

请注意,将以上内容翻译成 SQL 仍然会产生多个查询

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails中有类似批量更新的东西吗? 的相关文章

随机推荐

  • 使用 git 在整个文件上“接受他们的”或“接受我的”的简单工具

    我不需要可视化合并工具 而且我也不想必须 vi 冲突文件并手动在 HEAD 我的 和导入的更改 他们的 之间进行选择 大多数时候 我要么想要他们的所有更改 要么想要我的所有更改 通常这是因为我的更改使其上升并通过拉动返回给我 但可能在各个地
  • 等列值数量求和的公式

    给定一个包含两列的电子表格 例如 A 和 B 每列下面包含 n 个值 所有文本 有没有一个公式可以让我只填充一个包含 A 列和 B 列中相等值数量的单元格 Example A B 1 M M 2 L M 3 L L 4 M M 5 M L
  • 无法从 cin.get() 获取 char

    我正在做一些关于 C 的初学者练习 这让我很困惑 我可以输入数字 但之后无法选择输入字符 并且会跳到最后一行 我知道我可以使用 cin gt gt 符号 但我想知道为什么这不起作用 include
  • 检查 canAuthenticateAgainstProtectionSpace 中的公钥

    我被要求根据已知值检查公钥canAuthenticateAgainstProtectionSpace 委托回调NSURLConnection http developer apple com library mac documentatio
  • 在网站上以多种形式输入密钥

    我有一个有两种表格的网站 一个用于搜索 另一个用于登录 当我使用回车键提交时 搜索总是被调用 因为它是页面上的第一个表单 我想要做的是对回车键进行编程 以在某个文本框获得焦点时单击某个按钮 我使用 asp textbox 和 asp but
  • 响应 django CORS 问题

    错误详情 单击按钮时生成了两个请求 到目前为止我搜索了什么 Axios 通过 Django REST Framework 被 CORS 策略阻止 https stackoverflow com questions 55366740 axio
  • 返回常量引用和右值引用之间的区别

    如果我没记错的话 我认为 const 引用和右值引用都可以绑定到右值 返回前者的函数和返回后者的函数之间有什么实际区别吗 编辑 我无法修改前者 但为什么我会对修改右值感兴趣 是否有意义 A const左值引用可以绑定到任何东西 右值引用只能
  • 如何从java/或命令行使用/m“宏参数”打开word文档而不指定winword.exe路径

    我想做接下来的事情 String cmd cmd c c Program Files x86 Microsoft Office Office12 WINWORD exe mOpenPage c Navodilo doc Process pr
  • 将外部 svg 调用到另一个 svg

    我有多个内联 svgs 所有这些都有一个共同的路径 一个图像 通常这个公共部分应该定期更改 因此 如果我将公共区域保存为单独的 svg 文件 是否可以将通用 svg 文件调用到另一个内联 svg 中 E g main svg
  • 让所有进程并行

    我正在尝试使用 C 的 TPL 并行获取所有进程的 CPU 我的代码是 private IDictionary
  • 必须有 Java 运行时环境 (JRE) 或 Java 开发工具包 (JDK) 才能运行 Dbeaver。没有Java虚拟机

    在系统中安装 dbeaver 工具时未找到 Java 虚拟机 该怎么做才能从中恢复 如果你安装了zip存档或tar gz的档案dbeaver then 转到 dbeaver 目录 解压存档后创建的目录 在文本编辑器中打开 dbeaver i
  • 在 cygwin 上编译 android boost 时无法识别的命令行选项

    我正在尝试在 cygwin 的帮助下编译 boost以下文章 http www codexperiments com android 2011 05 tips tricks building boost with ndk r5 但是当我运行
  • Ajax 调用在 IE 中不起作用,除非您修改安全设置

    IE 有时很糟糕 直到 IE 10 IE 才提供对 XMLHttpRequest 对象的支持 相反 您必须使用 XActiveXObject 对象来运行 AJAX 调用 JQuery 默认启动该对象 并在三元函数中维护它 如果它存在 本质上
  • 支持 Apps Script Web App 5000 个并发用户

    我正在为 G Suite 客户构建一个小型应用程序 该应用程序将供客户的所有员工使用 在高峰时段可以看到多达 5 000 名并发用户 他们没有应用程序制作工具 也不打算很快启用应用程序制作工具 Apps 脚本 Web 应用程序能够处理这么多
  • Eclipse 可执行启动器错误:无法找到配套共享库

    我在计算机上安装了 Eclipse Indigo 和 Android 插件 它完美运行了大约两周 今天 我更新了java和quicktime 然后重新启动了我的计算机 当它重新启动时 Eclipse 完全消失了 所有程序文件都完全消失了 当
  • 如何从xml中的另一个包加载资源?

    我知道可以使用如下代码从另一个包安装资源 xml 文件 String resourceName getResources getResourceEntryName layoutResID String resourceTypeName ge
  • 保存 JSON 文件以便稍后从中获取其他数据

    我希望能够使用新数据保存我的 json 文件 然后调用该数据 以便我可以再次保存新数据 现在它所做的就是 当我调用 JSON 文件数据的任何部分时 保持与我上次手动保存它时相同 我确实编辑了一些代码并更好地描述了我的问题 提前谢谢您 这是我
  • iframe 中的位置固定 div 不起作用

    我正在开发 facebook iframe 应用程序 我在此应用程序中有一个弹出消息框 那个弹出窗口有固定位置 但它不能像添加到没有滚动的 iframe 中那样工作 如果弹出窗口在没有滚动的 iframe 中 是否可以使其固定在位置 如果弹
  • 在 Rails 中使用回形针进行 ajax 上传的简单方法?

    我想知道是否有一个简单的方法 例如一个插件 用回形针在 Rails 中进行 ajax 上传 还是我必须从头开始构建它 Cheers 编辑 另外 我正在寻找非闪存解决方案 你可以试试remotipart http os alfajango c
  • Rails中有类似批量更新的东西吗?

    在Java中 我们有像下面的java代码这样的批处理执行 Statement statement null statement connection createStatement statement addBatch update peo