Posted in PHP onFebruary 05, 2012
当然可以去PHPMYADMIN里浏览一下。但是终究有遗漏吧。所以自己写了个,比较数据库差异的脚本(PHP的),方便一下自己。当然代码很简单,就不讲解了,贴代码:
<? mysql_connect('localhost','root','root'); mysql_select_db('tablea'); //标准的数据库 $q = mysql_query("show tables"); while($s = mysql_fetch_array($q)){ $name = $s[0]; $q1 = mysql_query("desc $name"); while ($s1 = mysql_fetch_array($q1)) { $a[$name][] =$s1[0]; } } mysql_close(); mysql_connect('localhost','root','root'); mysql_select_db('tableb');//需要比较的数据库 $q2 = mysql_query("show tables"); while($s2 = mysql_fetch_array($q2)){ $name2= $s2[0]; $q3 = mysql_query("desc $name2"); while ($s3 = mysql_fetch_array($q3)) { $aa[$name2][] =$s3[0]; } } mysql_close(); $f = $e = array(); $str = $fuhao =''; foreach($a as $k=>$v){ if(!is_array($aa[$k])){ $e[] = $k; } else{ if(count($aa[$k]) <> count($v)){ foreach($v as $k1=>$v1){ if(!in_array($v1,$aa[$k])){ $f[$k][] = $v1; } } } } } echo "<pre>"; print_r($e);//缺少表 print_r($f);//缺少表的字段 ?>
mysql数据库差异比较的PHP代码
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@