最近有个需求,由于日志表很大,要求日志表按月分表,产生的日志根据当前时间确定要存入的表名中。为了保险起见,确定手动创建表,先创建两年的表,即24张表,表名如:rz_interfacelog202008,rz_interfacelog202009。
开始我是在navicat中创建的,创建过程如下:
1.创建存储过程:
DELIMITER $$
CREATE PROCEDURE `createInterfaceTables`()
begin
declare i int;
set i=0;
while i<24 do
set @tb = CONCAT('CREATE TABLE IF NOT EXISTS rz_interfacelog',date_format(date_add(curdate(), interval i month),'%Y%m'),
"( `id` varchar(32) NOT NULL,
`phone` varchar(50) NULL DEFAULT NULL COMMENT '手机号',
`createTime` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`parameter` varchar(3000) NULL DEFAULT NULL COMMENT '接口入参',
`paraEncrypt` varchar(3000) NULL DEFAULT NULL COMMENT '加密后的参数',
`operate` varchar(30) NULL DEFAULT NULL COMMENT '操作',
`resultCode