找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1438|回复: 0

[分享] Dedecms MYSQL数据库批量快速修改表前缀

[复制链接]
发表于 2018-6-17 11:02:16 | 显示全部楼层 |阅读模式 来自 河南省新乡市
dede中mysql数据库中我们修改表表就是做了rename来修改了,但是rename只能一次修改一个表的名字并不能批量处理,如果要批量处理我们需要使用遍历来操作,下面我来介绍一下mysql量修改表前缀与表名方法。
懒人包下载 rename.zip (491 Bytes, 下载次数: 3, 售价: 100 金币) 下载后打开按提示修改后上传到空间,然后用网址访问此文件即可
使用sql语句修改dede的mysql数据库表前缀名:
1.请看下面的介绍步骤

Select CONCAT( 'ALTER TABLE ', table_name, 'RENAME TO ', table_name,';' )
FROM information_schema.tables
Where table_name LIKE 'hx_%';

注意: like ‘hx_%’ 其中 hx_是你需要替换的表前缀.

放在sql执行器里面执行,会把所有hx_前缀的表全部列出来。这个时候导出txt,删除不相关的语句,留 alter table就可以,然后批量替换 RENAME TO hx 成 RENAME TO 你想要的表前缀;然后在sql执行器执行。

2.织梦dede的data目录中的$cfg_dbprefix = '改为现在的表前缀_';


重新登录后台看看。

如果是通过备份还原文件,也是可以,就是麻烦些,备份后,下回来backdata文件夹里所有文件,把所有文件打开,替换里面表前缀,然后所有带有表前缀的文件名也改为新的表前缀,再上传dede中备份还原,记得上传前,先把空间里原来备份删除。
3、千万别忘记
_channeltype这个表中也有 前缀,需要打开这个表 把里面的前缀修改一下

如果是要批量删除所有带有hx_表,可以用以下方式,同样先到phpmyadmin中的mysql执行器,输入以下sql语句
Select CONCAT( 'drop table ', table_name, ';' )
FROM information_schema.tables
Where table_name LIKE 'hx_%';


说明: like ‘hx_%’ 其中 hx_是你需要替换的表前缀.
执行查询,会自动生成出 drop table table_name这样的SQL语句.
然后复制 drop语句 可以执行删除的操作了.


发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-6-2 10:31 , Processed in 0.048611 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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