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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章