mysql event实现定时建表小记 每天凌晨一点建一个第二天的表delimiter // create procedure test.create_tab_every_day() begin
mysql event实现定时建表小记
每天凌晨一点建一个第二天的表
delimiter //
create procedure test.create_tab_every_day()
begin
declare `@i` varchar(15);
declare `@sqlstr` varchar(2560);
set `@i` = date_format(date_add(now(),interval 1 day),'%y_%m_%d');
set @sqlstr = concat(
create table day_tab_,
`@i`,
(
`prop` varchar(40)
);
);
prepare stmt from @sqlstr;
execute stmt;
end;
call test.create_tab_every_day();
/*****drop procedure test.create_tab_every_day;*****/
/*****drop table test.day_tab_2015_09_11;*****/
delimiter $$
create event event_create_tab_days
on schedule every 1 day
starts '2015-09-10 01:00:00'
on completion preserve
enable
do
begin
call test.create_tab_every_day();
end
$$
delimiter ;
每月的11号建一张下个月的表
delimiter //
create procedure test.create_tab_every_mon()
begin
declare `@i` varchar(15);
declare `@sqlstr` varchar(2560);
set `@i` = date_format(date_add(now(),interval 1 month),'%y_%m');
set @sqlstr = concat(
create table mon_tab_,
`@i`,
(
`prop` varchar(40)
);
);
prepare stmt from @sqlstr;
execute stmt;
end;
call test.create_tab_every_mon();
/*****drop procedure test.create_tab_every_mon;*****/
/*****drop table test.mon_tab_2015_10*****/
delimiter $$
create event event_create_tab_mons
on schedule every 1 month
starts '2015-09-11 01:00:00'
on completion preserve
enable
do
begin
call test.create_tab_every_mon();
end
$$
delimiter ;
本文永久更新链接地址:
,