|
|
discuz论坛里面,在不改变任何资料的前提下迁移uid
代码:
-- =============================================
-- 第一步:创建不存在的 UID100 空用户(如果已存在则跳过)
-- =============================================
INSERT IGNORE INTO pre_common_member (uid, username, password, email, regdate, groupid)
VALUES (100, '哈喽', '', '', UNIX_TIMESTAMP(), 10);
-- =============================================
-- 第二步:修改昵称
-- =============================================
-- UID2 昵称改为:uid100备用号
UPDATE pre_common_member SET username='uid100备用号' WHERE uid=2;
-- UID100 昵称改为:哈喽
UPDATE pre_common_member SET username='哈喽' WHERE uid=100;
-- =============================================
-- 第三步:迁移 UID2 的所有帖子数据到 UID100
-- =============================================
-- 主题帖
UPDATE pre_forum_thread SET authorid=100 WHERE authorid=2;
-- 回复帖
UPDATE pre_forum_post SET authorid=100 WHERE authorid=2;
-- =============================================
-- 第四步:迁移附件数据
-- =============================================
UPDATE pre_forum_attachment SET uid=100 WHERE uid=2;
-- =============================================
-- 第五步:迁移积分记录
-- =============================================
UPDATE pre_common_credit_log SET uid=100 WHERE uid=2;
-- =============================================
-- 第六步:更新用户统计数据(关键)
-- =============================================
UPDATE pre_common_member_count SET threads=0, posts=0 WHERE uid=2;
UPDATE pre_common_member_count
SET threads=(SELECT COUNT(*) FROM pre_forum_thread WHERE authorid=100),
posts=(SELECT COUNT(*) FROM pre_forum_post WHERE authorid=100)
WHERE uid=100;
直接复制到数据库-SQL执行,执行时取消勾选外键约束
联系QQ:1700180180(微信同号) |
|