我正在寻找合并 2 个具有重叠主键值 (users_id) 的 MySQL 表的最佳方法
两张表的结构不同,
MEMEBR(member_id,memeber_email,member_dob,....) 当前 Next Auto Increment Value 27014
USER(users_id, email,name,dob,.....) 当前 Next Auto Increment Value 23734
这两个表属于不同的应用程序,并且有许多带有引用主键值(Member_id 和 users_id)的日志/事务表。
我已经编写查询以从 USER 中选择数据并插入到 MEMBER 中,但主要问题是 IDS 重叠。起初我想在 MEMBER 中的最后一条记录之后附加所有用户记录,但这会生成新的 IDS,并导致 USER 应用程序引用表中的不一致。
第二,我认为在 MEMBER 中存储一个额外的字段 Users_id 以跟踪 USER 应用程序中的相关记录。
现在在这个额外的字段中为 MEMBER 应用程序用户存储什么。由于现在合并的用户将无缝使用两个应用程序,因此它需要在该字段中设置一个值,当然与 member_id 相同。
所以现在,MEMBER(memeber_id,Users_id,email,....) 1,1,a@b.com 2,2,b@b.com 。. . 27014,27014,z@b.com here end MEMBER record 27015,1,aa@bb.com 来自用户表的第一条记录
现在我在这里保持一致。
user_id 1 存在于 member_id 1 (1,1,a@b.com) 和 member_id 27015 (27015,1,aa@bb.com) 中
为了解决这个问题,我想到的另一点是将所有现有成员应用程序和未来用户的 users_id 字段设置为 0,这意味着只需从 USER 应用程序中保存现有 users_id。
如果您理解并面临同样的问题,或者可以像我一样思考,请提供帮助。
可能有人会问这个问题或真正的问题,所以。
问题:如上述问题所述,当合并来自 2 个不同应用程序的 2 个用户表时,处理重叠 id 的最佳方法是什么,该用户将无缝访问这两个应用程序。
任何帮助表示赞赏。
让我知道是否需要更多信息。