Mysql如何一次修改多个表中同一列的字段类型?
一个数据库中有很多相同的表,表名从table01-table99,表中有一列为:IDvarchar(4),我想把长度更改为10,如何一次把所有表都修改完?...
一个数据库中有很多相同的表,表名从table01-table99,表中有一列为:ID varchar(4),我想把长度更改为10,如何一次把所有表都修改完?
展开
2个回答
展开全部
1. 备份数据库 mysqldump -u xxx -p dbname > d:/tmp/xxx.dmp (假设是windows)
2.用editplus3(或其他文本浏览器)打开xxx.dmp,查找替换 ID varchar(4) 为 ID varchar(10).在editplus3中替换的热键是ctrl+h .替换完毕后保存文件。
这步中注意别的表是否有字段也是 ID varchar(4)的,有的话这些字段要手动改回来。
3.恢复数据库。mysql -u xxx -p dbname < d:/tmp/xxx.dmp
以上。
2.用editplus3(或其他文本浏览器)打开xxx.dmp,查找替换 ID varchar(4) 为 ID varchar(10).在editplus3中替换的热键是ctrl+h .替换完毕后保存文件。
这步中注意别的表是否有字段也是 ID varchar(4)的,有的话这些字段要手动改回来。
3.恢复数据库。mysql -u xxx -p dbname < d:/tmp/xxx.dmp
以上。
展开全部
<?php
$con = mysql_connect("host","user","passwd");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$t="table";
for($i=1;$i<100;$i++){
if($i<10){
$t="table0";
}
$table=$t.$i;
$sql="alter table $table alter column ID varchar(10)";
mysql_query($sql);
}
mysql_close($con);
?>
$con = mysql_connect("host","user","passwd");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$t="table";
for($i=1;$i<100;$i++){
if($i<10){
$t="table0";
}
$table=$t.$i;
$sql="alter table $table alter column ID varchar(10)";
mysql_query($sql);
}
mysql_close($con);
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询