mysql 事件 按月分表

/****** 对象:  Table Order_201512    脚本日期: 2015/12/18 11:44:23 ******/
/****** 字段数据长度 = 2599 字节 ******/
CREATE TABLE `Order_201512`(
    `OrderID`                          varchar(30)          NOT NULL DEFAULT ''                    COMMENT '订单id',
    `CreateTime`                       datetime             NOT NULL DEFAULT '1900-01-01 00:00:00' COMMENT '创建时间',
    PRIMARY KEY ( `OrderID` ),
    INDEX `IDX_InsuranceProducts201512_1` (`CreateTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='产品订单:产品订单';


/****** 对象:  Event Event_C_Order_YYYYMM    脚本日期: 2015/12/18 11:44:23 ******/
DELIMITER |
SET GLOBAL event_scheduler = 1;
DROP EVENT IF EXISTS `Event_C_Order_YYYYMM`;
CREATE EVENT `Event_C_Order_YYYYMM`
  ON SCHEDULE EVERY 1 MONTH STARTS '2015-12-27 23:01:01'
  ON COMPLETION NOT PRESERVE
  ENABLE
  Comment '自动创建下个Order_YYYYMM表' DO
BEGIN
SET @NextTailStr = DATE_FORMAT(DATE_ADD(NOW(),INTERVAL 1 MONTH), '%Y%m');
SET @createEventSQL = CONCAT('CREATE TABLE IF NOT EXISTS `Order_',
 CAST(@NextTailStr AS CHAR),'`(
    `OrderID`                          varchar(30)          NOT NULL DEFAULT ''''                    COMMENT ''订单id'',
    `CreateTime`                       datetime             NOT NULL DEFAULT ''1900-01-01 00:00:00'' COMMENT ''创建时间'',
    PRIMARY KEY ( `OrderID` ),
    INDEX `IDX_InsuranceProducts',CAST(@NextTailStr AS CHAR),'_1` (`CreateTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=''订单'';');
SELECT @createEventSQL;
PREPARE CreateEventStatement FROM @createEventSQL;
EXECUTE CreateEventStatement;
END |
DELIMITER ;

 

转载于:https://www.cnblogs.com/liuxiaoji/p/5091769.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值