1.我们在使用ecshop的时候,如果想批量修改表名前缀,其中有个很简单的方法,大家使用到的帝国备份王等工具就自带此功能:帝国备份王是相当强大的工具,具体操作请看下图: 批量替换表名的地方,看清楚了吗? 2. 第二个方法大家网上有说:将下面的代码保存到edit_table.php中放到网站根目录直接运行即可 define(‘IN_ECS’, true); require(dirname(__FILE__) . ‘/includes/init.php’); $sql = “show tables”; $rows = $db->query($sql); $old_prefix = ‘ecs’; $new_prefix = ‘test_’; $dataname = “utf273″; while($row = $GLOBALS['db']->fetchRow($rows)){ $arr = explode(“_”,$row['Tables_in_'.$dataname]); if($arr[0] == $old_prefix){//保证要替换的是表的前缀 $new_table_name = str_replace($old_prefix.”_”, $new_prefix, $row['Tables_in_'.$dataname]);//替换前缀 } $sql = ‘rename table ‘.$row['Tables_in_'.$dataname].’ TO ‘.$new_table_name; if($GLOBALS['db']->query($sql)){ echo ‘rename table ‘.$row['Tables_in_'.$dataname].’ TO ‘.$new_table_name.” ”; } } ?> 这个方法有时会报错就是报ecs_session表找不到的错误,这个是因为,更新表之后,会执行更新ecs_session表的语 句,应该是因为没有清除缓存的原因,这个地方报错。 第三个方法,很简单,直接用phpmyadmin导出数据库表,然后用EditPlus打开表内容,来个批量替换,再 导入回去。新手看不清楚就把库替换坏了,不建议! 最后,需要说明的是,如果在其他程序替换表名前缀的时候,一定要先看程序是否支持,如果不支持,还是建议不要更换的好,毕竟,无论替换什么样的前缀,效果都是一样的,并没什么不好的影响。 本文由虚拟主机域名注册服务商 银众网络(http://www.yinzhong.net) 整理,如需转载,请保留来源。 (责任编辑:admin) |