利用PHP腳本輔助MySQL數據庫管理3-刪除重復表索引
阿新 • • 發佈:2018-05-05
list arr lod mys for HP table mysql coff
<?php $dbi = new DbMysql; $dbi->dbh = ‘mysql://root:[email protected]/coffeetest‘; $map = array(); $dbi->fetchMap("SHOW TABLES", $map); $tables = array_keys($map); for($i=0; $i<count($tables); $i++){ echo($tables[$i]."\n"); $sql = "SHOW INDEX FROM ".$tables[$i]; $list = $dbi->fetchAll($sql); $indexs = array(); foreach($list as $item){ $indexs[$item[‘Key_name‘]][] = $item[‘Column_name‘]; } $j = 0; $list = array(); foreach($indexs as $key=>$val){ $list[] = array(‘j‘=>$j, ‘key‘=>$key, ‘val‘=>implode(",",$val));$j++; } $count = count($list) - 1; for($j=$count; $j>=0; $j=$j-1){ $me = $list[$j]; foreach($list as $item){ if($item[‘j‘]<$me[‘j‘] && $item[‘val‘]==$me[‘val‘]){ echo("\t".$j."\t".$me[‘key‘]."\t".$me[‘val‘]."\n");$sql = "ALTER TABLE ".$tables[$i]." DROP INDEX `".$me[‘key‘]."`"; $dbi->execute($sql); } } } } ?>
利用PHP腳本輔助MySQL數據庫管理3-刪除重復表索引