实习笔记11-创建每日实时更新表名
-
用timertask定时器去创建now的日期。
-
在数据库中用存储过程创建动态变量表名。
在此介绍一下第二种实现的代码:
//原固定表名创建的sql语句:CREATE TABLE IF
NOT EXISTS trace_20230815
( traceId VARCHAR(255) NOT NULL,
……
);
//实时创建每日更新表名(Mysql):
SET @sqlstr = CONCAT('CREATE TABLE IF NOT EXISTS trace_',DATE_FORMAT(curdate(),'%Y%m%d'),
'(traceId VARCHAR(255) NOT NULL,
……
);');
PREPARE stmt FROM @sqlstr ; //固定格式
EXECUTE stmt; //固定格式
探索了第二种方式,但是H2数据库不支持DATE_FORMAT函数,得自定义。并且H2数据库有可能不支持存储过程,所以挖坑以后探索第一种实现吧。