gpt4 book ai didi

mysql - 通过更新 id 查找或创建

转载 作者:行者123 更新时间:2023-11-29 14:46:02 24 4
gpt4 key购买 nike

我正在从事 RoR 项目。我正在迁移用户表。因为新的数据库有不同的设置,并且我想将登录内容与个人/设置内容分开,所以我不导入数据库;我单独迁移所有属性。我想保留旧的用户 ID。当我使用 user=User.new 时,我可以执行 user.id = migratee.user_id 并且保留相同的 user_id。不幸的是,在旧表中,不同的用户使用相同的电子邮件地址注册(不要问为什么)。当然,我不希望这样,所以我所做的不是 user=User.new 而是 user=User.find_or_create_by_email(migratee.email) 。我知道这会导致一些问题,因为具有相同电子邮件地址的用户将被覆盖。这是我将单独处理的问题。我的问题是,当我在 user=User.find_or_create_by_email(migratee.email) 之后执行 user.id = migratee.user_id 时,旧 ID 不会迁移,但会分配新的自动递增 id。有人知道如何避免这种情况吗?

问候,

罗格

最佳答案

我不知道您的查询是什么样的。如果您正在执行 INSERT SELECT您可以添加 HAVING 来过滤现有电子邮件地址。否则,您可以执行 GROUP BY 电子邮件,但只会收到一封电子邮件。

关于mysql - 通过更新 id 查找或创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6954618/

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