我有一个数据库,其中的记录可能会有与同一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)
怎样才是最好的做法?
where
只获取到一条记录,但update
仍然影响了所有具有相同 id 的记录。 - Mirror318crew_id:record.crew_id
的选择器,where
语句仅获取1条记录。但在一个记录上调用update
仍会更新数据库中具有相同ID的所有记录。 - Mirror318update
在 SQL 查询中创建了一个where id = 1234
子句,这将影响所有具有该 ID 的记录。 - Mirror318