当记录的日期(来自即将到来的)等于今天的日期时,我试图将记录从一个表(即将到来的)移动到另一个表(今天)。我该如何使用 phpmyadmin 中的重复事件来做到这一点?
最佳答案
您当然可以使用每天午夜(实际上是午夜后不久)运行的 MySQL 事件。在那种情况下你可以做任何你想做的事。这是一个例子。
CREATE EVENT `midnight_event`
ON SCHEDULE
EVERY 1 DAY STARTS '2015-10-10 00:00:00'
ON COMPLETION PRESERVE
DISABLE ON SLAVE
DO BEGIN
START TRANSACTION;
INSERT
INTO todays_table
VALUES (col, col, col, col)
SELECT col, col, col
FROM pending_table
WHERE time_stamp >= CURDATE()
AND time_stamp < CURDATE() + INTERVAL 1 DAY;
DELETE
FROM pending_table
WHERE time_stamp >= CURDATE()
AND time_stamp < CURDATE() + INTERVAL 1 DAY;
COMMIT;
END
其他人评论了这种数据设计的智慧,行从一个表移动到另一个表。他们的评论有相当大的值(value)。如果您想要一个包含今天事件的“表”,请考虑 View 。这个表看起来就像您为我提到的事件维护的表。
CREATE OR REPLACE VIEW todays_table AS
SELECT *
FROM pending_table
WHERE time_stamp >= CURDATE()
AND time_stamp < CURDATE() + INTERVAL 1 DAY
关于mysql - phpmyadmin:数据库事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32922376/