mysql批量增加表中新列存储过程

Posted 咸蛋超哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql批量增加表中新列存储过程相关的知识,希望对你有一定的参考价值。

一般访问量比较大的网站,请求日志表都是每天一张表独立创建. 业务需要为每张表都添加一个新列,纠结了半天,写了个存储过程如下:

日志表结构类型 tbl_ads_req_20140801, tbl_ads_req_20140802 ...

DELIMITER //
create procedure sp2()
begin
declare sTime varchar(32);
declare eTime varchar(32);
declare sName varchar(128);
declare lName varchar(128);
declare sqlVar varchar(128);
declare rest int;
set sTime = ‘20140801‘;
set eTime = ‘20140831‘;
set sName = CONCAT(‘tbl_ads_req_‘,‘‘);
set lName = ‘‘;
set rest = 1;
while rest > 0 do

set sTime = (select DATE_FORMAT((select ADDDATE(sTime,1)),‘%Y%m%d‘));
set lName = CONCAT(sName,sTime);
set sqlVar=CONCAT(‘ alter table ‘,lName,‘ add app_package varchar(64)‘);
set @v_s=sqlVar;
prepare stmt from @v_s;
EXECUTE stmt;
set rest = DATEDIFF(eTime,sTime);
END while;
end;
//
DELIMITER;



























以上是关于mysql批量增加表中新列存储过程的主要内容,如果未能解决你的问题,请参考以下文章

MySQL之 索引 和 存储过程

mysql 存储过程批量删除表

mysql存储过程批量向表插入数据

MYSQL批量创建表的存储过程

存储过程 查询出多条数据批量插入表 增加出库通知单统计按机构分组事件

mysql存储过程怎样批量插入数据