帝国CMS(EmpireCMS)7.5管理副表分表(数据已经存在)数据迁移至其他分表

273次阅读
没有评论

一、分表过程

1、帝国 cms 后台有很简单的分表操作

2、后台 >> 系统 >> 数据表与系统模型 >> 管理数据表 >> 管理分表 >> 管理副表分表

3、建议按照系统默认的命名规则来命名,即数字序列

二、使用 phpmyadmin 来进行 sql 命令转移数据

1、phpmyadmin>>点击需要操作的数据库 >> 右侧点 SQL 进入到命令操作行

2、输入以下命令:

INSERT INTO phome_ecms_news_data_2
SELECT * FROM phome_ecms_news_data_1 T2
WHERE T2.ID>= 50001 AND T2.ID<= 100000;
update phome_ecms_news set stb=REPLACE(stb,1,2)
WHERE ID>= 50001 AND ID<= 100000;

3、代码释义:

第一句:在 phome_ecms_news 数据表第 2 分表插入行

第二句:将 phome_ecms_news 数据表第 1 分表数据复制到数据表第 2 分表(T2 就是第二分表,T3 就是第三分表,以此类推)

第三句:限制即将复制的数据信息 ID 范围为 50001 到 100000

第四句:更改数据表 phome_ecms_news 中分表 ID 以便查询【stb=REPLACE(stb,1,2)中表三就是 stb=REPLACE(stb,1,3),表四就是 stb=REPLACE(stb,1,4),以此类推】

第五句:限定即将修改的 phome_ecms_news 分表 ID 范围为 50001 到 100000

4、命令执行完成之后,在 phome_ecms_news_data_1 分表中原有 ID 范围为 50001 到 100000 的数据已经没用了,需要将它清除掉以节省数据空间,删除命令如下:

DELETE FROM phome_ecms_news_data_1 WHERE ID>= 50001 AND ID<= 100000;

代码释义:删除原信息范围为 50001 到 10000 的信息.

正文完
 1