折雨的天空

新浪微薄腾讯微薄

最新碎语:最近霉到了住。哎。。。

您的位置:折雨的天空 >php开发> 转一个别人写的对比Mysql库的代码

转一个别人写的对比Mysql库的代码

这技术用在版本升级的时候比较好,代码如下:

<?
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);//缺少表的字段
 
?>
实际上代码还是很容易懂的,只是有的时候需要一种意识才能够写出来。

原文网址是:http://www.chhua.com/web-note2165

------------正 文 已 结 束, 感 谢 您 的 阅 读 (折雨的天空)--------------------

转载请注明本文标题和链接:《转一个别人写的对比Mysql库的代码

奖励一下

取消

分享不易,烦请有多多打赏,如您也困难,点击右边关闭即可!

扫码支持
扫码打赏,5元,10元,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

-秒后自动关闭,如已打赏,或者不愿打赏,请点击右上角关闭图标。

发表评论

路人甲 表情
看不清楚?点图切换