电影中心 精品软件 联系我们

 找回密码
 立即注册

QQ登录

只需一步,快速开始

Close
查看: 1579|回复: 2

Discuz X3.4 用户表 主表 存档表 数据合并教程

[复制链接]
发表于 2020-4-16 18:49:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
1,登录后台,工具,计划任务,取消勾选 每日用户表优化3 U! Z+ o5 y& @; n4 S- i

4 o& i3 i3 f, F2,关闭站点,备份数据库,如果可以,全站备份更好
" {% B( E8 Q/ j- ?( P4 _) Z, N; u* F+ d2 b/ Z+ k  o. _4 m
3,不要手贱去点 后台,站长,用户表优化
7 B4 |1 ]/ J3 _) a7 w& K/ t1 U- N- W9 z
4,打开你的MYSQL管理工具,比如 phpMyAdmin
2 l5 _. n, o- `! @: b: b: Q2 Y- V: |! v, L; {: I0 y

& Q, J6 E8 W  I/ \+ T几个受影响需要更改的表
% r: {1 B4 `/ W& O9 z" s! I2 j$ I( W: @/ F$ R
pre_common_member
# y. ~) F. U6 D- w+ Kpre_common_member_archive
! u" n9 y' n9 ~7 K: _2 D& ]4 R3 a6 r6 _) L6 {/ l6 g/ M
pre_common_member_count
! p' t/ g; U  r, _5 _pre_common_member_count_archive% I9 z3 T9 |4 [/ E- e
. R+ R' P' k! H5 ]
7 O" d7 a& W% \
pre_common_member_field_forum
$ x$ _0 \9 \7 X0 j- Jpre_common_member_field_forum_archive" |: s- s. Z$ _  m' Y, }8 a) E
+ A8 t/ ^0 _) m1 ?  `8 i0 k

/ X; {; `8 q" x9 W5 ?$ npre_common_member_field_home  o" B5 F  q- M  N) A7 p
pre_common_member_field_home_archive& _! z9 m6 i) G; i1 o
5 |) c8 ]$ F: ]  o" |
pre_common_member_profile# i. [2 j& ?$ n7 {
pre_common_member_profile_archive
- }2 _% e* {. I2 f) B* y! k) d& \# A* V
pre_common_member_status
8 Z& ]2 Z& M0 d9 V" [4 A6 `- C% Ypre_common_member_status_archive

2 j( {, `6 D+ d. f7 z6 `) `" f% b+ f7 b' X. F
5,看一下上面数据库中的几个表,受影响了几个,受影响的都要修改: z' g: [% c/ ~9 @

' Q7 `" {8 P- ]- _  G/ E% K
9 Y1 x' s. X$ c% a打开  pre_common_member_archive% I9 i, |$ m4 a; @3 s9 r/ h$ z

, S, A0 a. f: ^9 ^2 n( Z4 O删除重复内容
8 W9 r( m7 C# t4 I0 ?. `  X
  • ALTER IGNORE TABLE pre_common_member_archive ADD UNIQUE INDEX(`uid`)
    # O9 E5 W) z% H6 H8 q* ]: O& Z( l) J

+ j8 N2 j$ z2 m& R' Y9 D3 W' c, T6 i% T& ^
把 pre_common_member_archive 内容复制到 pre_common_member
* n; }0 _2 w/ [. O( d
- B& y% N6 E/ B( k. x
  • insert into pre_common_member select * from pre_common_member_archive
    7 \- e( n8 e2 ?  n0 D1 S

) m) X2 o& a+ j* i9 J5 [. S
5 X& @( @1 v1 Q" s9 C8 _6 Q再删除主表重复内容,清空存档表内容/ C/ b8 g7 m0 U/ j; m* e* q3 ]
6 a% n3 `' x7 _& A2 e5 t9 b& m

  Z8 S) x; u5 |! v6 e$ m' G( X上面做完基本就没事了,有强迫症的可以删除带有Archive的空表,备份的bak表都可以删除。
& u8 f7 j+ W6 h' I, X: y8 @( u# i; V5 {# \) E
删除带有Archive的空表,更新缓存的时候出现这个错误,而且注册不了(在注册的最后一步会出现不跳转的情况)1 R! z, F3 U" S( A3 t# c4 |4 V

6 B. x# F% ?! G. i; y
(1146) Table 'db_web411070.common_member_archive' doesn't existSELECT COUNT(*) FROM common_member_archive
! ^$ n, `$ h6 R) k2 F3 P1 @9 `
( h+ X( M) e* v+ K' W
在站长—数据库—升级(Discuz! 数据库升级 - 请将数据库升级语句粘贴在下面中执行语句 :9 Q) _) B' }0 ?2 ]$ z* O
: B( N7 |/ i7 H5 k$ u5 g
为了数据安全执行该语句前建议备份数据4 e( t; o. H- V- w, J& x( d9 f- U4 a

' r# \  O" c6 [) Y. C& @/ W
  • DELETE FROM `pre_common_setting` WHERE `skey` = 'membersplit';/ ~+ L6 h% Q, K) E$ }5 N- k8 p9 }

7 R6 @+ Y; T' \& K. d! H1 }2 m  s* L! R* {( D0 J- R
若没有找到执行语句的输入窗口 则修改
) n" c7 u9 z' i6 o) j& D9 l  B
0 l, P/ w5 f0 [" ~1 I1 Mconfig/config_global.php0 R4 k0 _* \6 R4 S6 a: i' S0 v' j

; q1 l7 c7 g1 R1 l当中的
- B, g& ]1 t' K0 a8 _2 K2 R) s
& T/ e9 l/ o4 D* y( `4 P6 D$_config[admincp][runquery] 设置修改为 1
' K* r, @& F8 n2 w- [7 F8 M7 v2 M; @: q
; N2 {( B( F$ B0 }" q# f
9 {# e& t! z# y$ a" ^(为了安全执行完该语句后 确认解决了1146错误后 再将配置该回来 )  刷新后再输入执行。
( D- C. a/ c/ P; o6 S
, p  G( X& k, O
 楼主| 发表于 2020-4-16 18:50:07 | 显示全部楼层
方法2:
- }, h8 P) {9 I  ^) I7 C, d6 M后台,站长,数据库,升级9 `9 X; R& K6 f: `4 K# _( O4 ?* x
. [2 N  U8 [% C- L. X9 H
  • insert into pre_common_member select * from pre_common_member_archive;
  • insert into pre_common_member_count select * from pre_common_member_count_archive;
  • insert into pre_common_member_field_forum select * from pre_common_member_field_forum_archive;
  • insert into pre_common_member_field_home select * from pre_common_member_field_home_archive;
  • insert into pre_common_member_profile select * from pre_common_member_profile_archive;
  • insert into pre_common_member_status select * from pre_common_member_status_archive;& _' P2 K& A6 a9 w; O  U
. b2 a; m7 z5 z- m( ?, A
! [' J: Z, b1 }$ f1 b3 x
# n; t  F& b" e8 M& A( f+ j
以上六条的意思就是把六个存档表中的东西合并到主表中。
$ ?) K2 r: N* @) f! c; ~4 N) v) \5 u0 p' e: X
然后再使用如下升级数据库:
2 ^* S/ p! {- d/ N
  • TRUNCATE TABLE  `pre_common_member_archive`;
  • TRUNCATE TABLE  `pre_common_member_count_archive`;
  • TRUNCATE TABLE  `pre_common_member_field_forum_archive`;
  • TRUNCATE TABLE  `pre_common_member_field_home_archive`;
  • TRUNCATE TABLE  `pre_common_member_profile_archive`;
  • TRUNCATE TABLE  `pre_common_member_status_archive`;  F% U; U& o/ x* o' ^# u' p

4 e9 U1 b/ l" o4 }5 B8 L0 ~8 T2 a) H/ Z! `: K; E! w* h( P
6 S) E; f$ {5 Y  Y9 B3 E6 b
以上六条的意思就是把六个存档表数据全部清空。+ {3 `6 x1 z% a; @) i
发表于 2020-4-26 17:48:50 | 显示全部楼层
厉害
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|帮助|古城IT技术联盟 ( 鲁ICP备06030014号 )

GMT+8, 2024-4-20 18:39 , Processed in 0.093676 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表