#定时创建数据表
##1.首先打开navicat,进入需要连接的服务器
##2.查看定时任务是否开启,命令如下:
show variables like '%event_scheduler%';
如果其设置值为为 OFF 或 0 ,通过执行下列语句,来开启event_scheduler,把它设置为设为ON 或 1,从新查询状态。
set global event_scheduler = 1
##3.创建函数
#找到函数,右键新建,选择函数,输入相关的sql语句后保存。
CREATE DEFINER=`root`@`%` PROCEDURE `create_ship_info`()
BEGIN
#Routine body goes here...
DECLARE i int;
set i=0;
while i<=5 DO
SET @hours= DATE_FORMAT(DATE_ADD(CURRENT_TIME(), INTERVAL i DAY), '%Y%m%d');
SET @sql_create_table = CONCAT('CREATE TABLE if not EXISTS ship_info_device_status_dto_',@hours,"(
id bigint not null
primary key,
entity_id bigint null,
ship_name varchar(255) null,
ship_id varchar(255) null,
device_no varchar(255) null,
offline_flag bit null,
latitude double null,
longitude double null,
job_type varchar(255) null,
job_way varchar(255) null,
owner_name varchar(255) null,
attribution varchar(255) null,
fleet_id bigint null,
fleet_name varchar(255) null,
company_id bigint null,
company_name varchar(255) null,
create_date datetime null,
sequence varchar(255) null,
type int null,
ship_no varchar(255) null,
acq_time datetime null,
terminal_code varchar(255) null,
comm_type varchar(255) null,
utc datetime null,
power varchar(255) null,
course double null,
trueheading double null,
speed double null,
signal_strength int null,
libv double null,
pvbv double null,
create_time datetime null,
send_time datetime null,
height double null,
INDEX(device_no),
INDEX(utc),
INDEX(latitude),
INDEX(longitude)
)ENGINE=MyISAM DEFAULT CHARSET = utf8;");
PREPARE ju from @sql_create_table;
EXECUTE ju;
set i = i + 1;
end while;
END
##4.新建事件 起名call create()
create()为函数名
选择计划,定时或是每日循环。