新建表c3
#id设置自增量,kk是要同步的一些数据值,dd是开始时间,dde是结束时间 CREATE TABLE c3 ( id int(11) NOT NULL auto_increment PRIMARY KEY, kk varchar(255), dd datetime, dde datetime )
新建表c4
#id也设置自增量,kk是要同步的一些数据值,dd是统计出开始与结束之间的所有日期 CREATE TABLE c4 ( id int(11) NOT NULL auto_increment PRIMARY KEY, id_c3 int(11), kk varchar(255), dd datetime )
创建触发器
# 设定一个变量i,默认值是0,DATEDIFF(new.dde,new.dd)是计算日期差值, #DATE_ADD(new.dd,interval i DAY)通过变量i来补充所有日期, CREATE TRIGGER c3_insert_c4 AFTER INSERT ON c3 FOR EACH ROW BEGIN DECLARE i int DEFAULT 0; WHILE i <= DATEDIFF(new.dde,new.dd) DO INSERT INTO c4(id_c3,kk,dd) VALUES (new.id,new.kk,DATE_ADD(new.dd,INTERVAL i DAY)); SET i=i+1; END WHILE; END
想表c3插入一条数据,并查询c3与c4
INSERT INTO c3(kk,dd,dde) VALUES('ee','2020-04-07','2020-04-08'); select * from c3; select * from c4;