码迷,mamicode.com
首页 > Web开发 > 详细

PHP 批量修改表名前缀

时间:2015-11-11 13:17:33      阅读:335      评论:0      收藏:0      [点我收藏+]

标签:

很多时候我们写项目时,都会给不同项目所用到的表名加上统一的前缀,这个也给将来迁移项目带来一定的麻烦。

有时可能的你迁移的目标数据库已经有了其它的项目存在,而且它们的表前缀又刚好跟你的一样,这样能怎么办,只能后来的迁就一下,改吧!

 

下面是我写的一段批量修改表前缀的代码,供大家参考一下,希望对大家有所帮助。

 

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 : 新前缀,留空则为删除原前缀)

 

技术分享

 

 

修改后

技术分享

 

PHP 批量修改表名前缀

标签:

原文地址:http://www.cnblogs.com/maxuebing/p/4955541.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!