MySQL 批量修改表前缀的两种方法【WordPress多第三步】

假设有数据库 shop,原本表前缀为sp_,现在要全部改成shop_。第一时间想到的办法是批量替换数据库导出 .sql 中的 sp_shop_,但是这种方法并不安全,一旦数据库中有其他的 sp_ 字样也会被一同替换的。下面介绍两种 MySQL 批量修改表前缀的方法,最方便还是方法2。

一、方法1:采用命令的方式批量修改 MySQL 表前缀

  1. 生成替换命令
  2. 批量替换
SELECT CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO shop_', substring(table_name, 4),';') FROM information_schema.tables where table_schema='shop' and table_name LIKE 'sp_%';
  • 4:表示从sp_后面字符开始,这个数值要根据要替换的前缀长度改变,substring 函数是从 1 开始的;
  • table_schema:指定数据库名称;

上面的命令执行完成后,会生成替换表名的命令,如:

ALTER TABLE sp_users RENAME TO shop_users;
ALTER TABLE sp_orders RENAME TO shop_orders;
ALTER TABLE sp_comments RENAME TO shop_comments;

批量执行上面的语句,就完成了批量修改表前缀。

二、方法2:通过 phpMyAdmin 批量修改 MySQL 表前缀

  1. 选中要修改表前缀的数据库
  2. 点击“结构”标签
  3. 勾选下方的“全选”
  4. 在“选中项”下拉菜单中选择“修改表前缀”
  5. 填写当前的表前缀以及要修改为的表前缀
  6. 点击提交即可。

MySQL 批量修改表前缀的两种方法【WordPress多第三步】

三、WordPress需要再修改:

1、在网站根目录修改wp_config.php里面的$table_prefix为新表前缀
$table_prefix = ‘sp_’;

更改为:
$table_prefix = ‘shop_’;

2、更改sp_options表:
表sp_options( 新表为shop_options)里面的option_name字段值要改掉
update sp_options set option_name = replace(option_name,’sp_’,’shop_’);

3、更改sp_usermeta表
表sp_usermeta( 新表为shop_usermeta)里面的meta_key字段值要改掉
update sp_usermeta set meta_key = replace(meta_key,’sp_’,’shop_’);

免责声明  

⚠️ 本站的资源均来自于网络或用户网盘投稿,仅作个人学习使用,其版权均归原作者所有。
⚠️ 我们非常重视版权问题,如有侵权请发邮件至mqd#live.com,我们会第一时间处理,敬请谅解!

给TA打赏
共{{data.count}}人
人已打赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索