mysql数据库差异比较的PHP代码

  当然可以去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);//缺少表的字段

  ?>