PHP+MYSQL将所有MyISAM表批量转为InnoDB表,将其中的数据库名称改为自己实际应用的名字,同时这里又增加了表名以mdaima_zichan开头的匹配,因为我这个数据库下有好多表,功能不同只更改需要的同一应用下的MyISAM表。
//0 ===================数据库更改引擎为innodb----开始
$sql="SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名称' AND ENGINE = 'MyISAM' and TABLE_NAME like 'mdaima_zichan_%'";
$result=$mysqli->query($sql);
$de=0;
while($rs=$result->fetch_assoc()){
$de++;
$tb_inodb = $rs["TABLE_NAME"];
$sqlinodb = "ALTERTABLE".$tb_inodb." ENGINE=INNODB";
$mysqli->query($sqlinodb);
//echo $sqlinodb."<br/>";
}
echo "数据库更改引擎为innodb,更新完成!共处理 ".$de." 个表,".date("Y-m-d H:i:s")."<br />";
//0 ===================数据库更改引擎为innodb----结束