mysql按時間日期拆分表


1、用存儲過程和綁定事件的方式來做

(1)、創建存儲過程:

/* 按日期拆分表 */
CREATE PROCEDURE ctrlcctrlv_table(var VARCHAR(20))
BEGIN
SET @param1 = concat('ALTER TABLE ', var, ' RENAME ', var, DATE_FORMAT(NOW(), '%Y_%m_%d'));
PREPARE stmt FROM @param1;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @param2 = concat('CREATE table ', var, ' like ', var, DATE_FORMAT(NOW(), '%Y_%m_%d'));
PREPARE stmt1 FROM @param2;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
END;

 

(2)、創建事件 下面例子是隔一天拆表

create event ctrlcctrlv_event
on schedule every 1 DAY STARTS '2020-09-10 00:00:00'
on completion preserve disable 
do call ctrlcctrlv_table("user"); 

 

(3)、啟動事件生效

alter event ctrlcctrlv_event on completion preserve enable; 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM