数据库
首页 > 数据库> > MySQL表1新增数据,计算开始、结束日期之间所有时间,插入到表2中

MySQL表1新增数据,计算开始、结束日期之间所有时间,插入到表2中

作者:互联网

新建表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;

image.png

标签:kk,dd,插入,int,MySQL,c3,到表,id,dde
来源: https://blog.51cto.com/11728495/2485439