正文
dev机上数据库中批量生成table
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
我的低效方法:
通过本地php脚本进行create:
<?php
//0-63
header("Content-type:text/html;charset=utf-8");
$conn = mysql_connect('localhost','root','') or die (mysql_error());
$db = mysql_select_db('test',$conn) or die(mysql_error());
for($i=10;$i<64;$i++){
$sql =<<<SQL
CREATE TABLE karate_final_{$i}(
xxxx
xxxx
)ENGINE InnoDB AUTO_INCREMENT 73 DEFAULT CHARSET=utf8 COMMENT='stored everyones info list';
SQL;
mysql_query($sql, $conn) or die(mysql_error($conn));
}
mysql_close($conn);
?>
发现效率很低,同时由于dev的连接网速不稳定且慢,create到9就结束了。
新方法:
先在dev机的数据库中创建karate_final_tmp, 在本地通过脚本生成SQL语句,
CREATE TABLE karate_final_{$i} LIKE karate_final_tmp;
粘贴到workbench,共计64条,执行。
//LIKE 关键字: 创建的table完全复制LIKE后面的表的结构
//另可以参考LIKE 与 SELECT关键字在此处使用的不同
<?php
//0-63
header("Content-type:text/html;charset=utf-8");
$conn = mysql_connect('localhost','root','') or die (mysql_error());
$db = mysql_select_db('test',$conn) or die(mysql_error()); for($i=0;$i<64;$i++){
$sql .= <<<SQL
CREATE TABLE karate_final_{$i} LIKE karate_final_tmp;<br />
SQL;
}
mysql_close($conn);
echo $sql;
?>