把 A 站的内容并进 B 站 用户表直接导入之后 两个站都有的 admin 只剩一条 文章作者署名全跑到同一个人头上。乍看像缓存或者权限的锅,追下去往往不是。
UPDATE wp_users SET ID = ID + 10000; UPDATE wp_posts SET post_author = post_author + 10000; UPDATE wp_usermeta SET user_id = user_id + 10000;
追下去是这么回事:wp_users 的 ID 是自增主键 两个站各自从 1 开始编号 直接插入必然撞主键 用了 REPLACE 就把 B 站原来的用户整行覆盖 登录和作者归属跟着一起乱。
「两站合并用户」这类改动最怕改一半,回滚脚本先准备好,再动生产。一次只改一处,改完立刻验证,几个改动叠在一起,出问题就说不清是谁导致的。
先做最小复现,能稳定跑出来的问题,排查成本会低一个数量级。
具体做法是,导入前给 A 站用户 ID 加一个偏移量 比如统一加一万避开已有编号;wp_posts 表的 post_author 字段和 usermeta 表的 user_id 都要整段同步加上同一个偏移量;同一个人两个站都有账号的先合并再删多余那条 别留两个作者页。
验收就看一点,作者页能对上原来的文章 用户列表里没有重复邮箱的两个账号。
