gpt4 book ai didi

ruby-on-rails - rails : force specific id for new record (or change id of existing)

转载 作者:行者123 更新时间:2023-12-04 03:44:47 25 4
gpt4 key购买 nike

由于在我们的 Rails 应用程序中删除了一个用户的错误,我试图将另一个用户记录强制到旧记录 ID 中。

$ rails console
> User.find(2)
ActiveRecord::RecordNotFound: Couldn't find User with 'id'=2
> replacer = User.find(5)
=> #<User id: 5, created_at: [omitted for brevity ...] >
replacer.id = 2
=> 2
replacer.save
=> true
> User.find(2)
ActiveRecord::RecordNotFound: Couldn't find User with 'id'=2
> User.find(5)
ActiveRecord::RecordNotFound: Couldn't find User with 'id'=5
> replacer
=> #<User id: 2, created_at: [omitted for brevity ...] >
> replacer.valid?
=> true

这是怎么回事?

最佳答案

您的更新语句是使用您已设置为 2 的内存对象的 ID 构造的。您无法更新不存在的记录。

如果你想留在事件记录领域,我想你可以这样做:User.update(5, id: 2)

否则,您绝对可以在 SQL 中完成。 更新用户 SET id = 2 WHERE id = 5

关于ruby-on-rails - rails : force specific id for new record (or change id of existing),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29810536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com