mysql - Rails 更新数据库中具有重复 ID 的记录

标签 mysql ruby-on-rails duplicates

我有一个包含记录的数据库,这些记录可能包含具有相同 ID 的其他记录(是的,确实是这样)。

我有一行代码使用标准 Rails 更新:

Member.update(record.id, values)

目前更新所有具有该 ID 的记录(不好)。根据文档,您只能放置一个 id(或一组 id) https://apidock.com/rails/ActiveRecord/Base/update/class

我需要能够指定 id 以及另一个 id,以获得真正唯一的记录。像这样的东西:

Member.update({id: record.id, crew_id: record.crew_id}, values)

执行此操作的最佳方法是什么?

最佳答案

我想这就是你要找的,

Member.where(id: record.id, crew_id: record.crew_id).update_all(values)

关于mysql - Rails 更新数据库中具有重复 ID 的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57902878/

相关文章:

mysql - 如何获取具有多个值的所有行

javascript - 使隐藏的输入字段可见 HTML Javascript

xslt - 如何根据层次结构级别删除重复项?

mysql - 使用 SQL 删除匹配不同字段的记录

opencv - 查找重复图像的软件链

php - 检查 3 个表以查看其中是否存在电子邮件

mysql - 请求日期时间元素时出现 NoMethodError

css - 打印 View 忽略样式表

ruby-on-rails - 使用 rspec,对模拟对象和 stub 对象之间的区别感到困惑?

mysql - 将数据从旧数据库插入新数据库而不删除新数据