欢迎投稿

今日深度:

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

mysql批量增加表中新列存储过程,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 怎批量更改一列数据

问题是你要改成的数据有什么规律吗?
就像你写的,1,2,3,4,……,25,26.如果有规律,那就好办。
可以用存储过程循环批量处理。
 

mysql 批量插入

存为.sql脚本
然后打开mysql的命令行,
转到(cd)放这个脚本的目录下
输入:\. 这个sql的完全路径(包括这个sql文件名,注意路径要用“\\”隔开)
回车
即可批量导入。
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/3417.html NewsArticle mysql批量增加表中新列存储过程,mysql中新 一般访问量比较大的网站,请求日志表都是每天一张表独立创建. 业务需要为每张表都添加一个新列,纠结了半天,写了个存储过程如下: 日志表结...
相关文章
    暂无相关文章
评论暂时关闭