咱们在ecshop程序装置时,install之时,能够挑选修正前缀ecs_.那么有的客户能够网站用过一段时间,存在海量数据,想把前缀修正掉,那么怎么修正呢?
这里供给两个办法:
1.很简单,直接用phpmyadmin导出数据库表,然后用EditPlus翻开表内容,来个批量交换,再
导入回去。新手看不清楚就把库交换坏了,不主张! 但最模板常用!
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.”
”;
}
}
转载请带最模板网址,不带网址的MJJ!
?>
这个办法有时会报错就是报ecs_session表找不到的过错,这个是因为,更新表之后,会履行更新ecs_session表的语
句,大概是因为没有铲除缓存的缘由,这个当地报错。
3.批量修正表名前缀有个很简单的办法,我们使用到的帝国备份王等东西就自带此功用
批量交换表名的当地,看清楚了吗?