标签:
很多时候我们写项目时,都会给不同项目所用到的表名加上统一的前缀,这个也给将来迁移项目带来一定的麻烦。
有时可能的你迁移的目标数据库已经有了其它的项目存在,而且它们的表前缀又刚好跟你的一样,这样能怎么办,只能后来的迁就一下,改吧!
下面是我写的一段批量修改表前缀的代码,供大家参考一下,希望对大家有所帮助。
PHP代码
1 <?php 2 3 $old_pre = @$_GET[‘old_pre‘]; // 原表前缀 4 $new_pre = @$_GET[‘new_pre‘]; // 新表前缀 5 6 $length = strlen($old_pre); // 原表前缀长度 7 8 // 连接数据库 9 $mysqli = @new mysqli("localhost","root","","wordpress"); 10 11 if(mysqli_connect_errno()) 12 { 13 exit ("连接数据库失败:".mysqli_connect_error()); 14 } 15 16 // 查询当前数据库中所有的表 17 $result = $mysqli->query(‘SHOW TABLES‘); 18 19 echo "-- <pre>\n\r"; 20 // 遍历所有的表 21 while($row = $result->fetch_row()) 22 { 23 $old_tablename = $row[0]; 24 25 // 判断表名是否包含要修改前缀 26 if($old_pre && $old_pre == substr($old_tablename, 0, $length)) 27 { 28 $new_tablename = $new_pre.substr($old_tablename, $length); 29 echo " ALTER TABLE `{$old_tablename}` RENAME TO `{$new_tablename}`; \n\r"; 30 } 31 32 } 33 echo "-- </pre>"; 34 35 $mysqli->close();
修改改前
运行(old_pre : 原前缀,留空则为在原前缀上加上新前缀,new_pre : 新前缀,留空则为删除原前缀)
修改后
标签:
原文地址:http://www.cnblogs.com/maxuebing/p/4955541.html