0
当记录的日期(即将到来)等于今天的日期时,我试图将记录从一个表(即将到来)移动到另一个表(今天)。我将如何去使用phpmyadmin中的循环事件?phpmyadmin:数据库事件
当记录的日期(即将到来)等于今天的日期时,我试图将记录从一个表(即将到来)移动到另一个表(今天)。我将如何去使用phpmyadmin中的循环事件?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
其他人已经评论了这种数据设计的智慧,并且每行都从一个表格移动到另一个表格。他们的评论有很大的价值。如果你想要一个包含当前事件的“表”,请考虑一个视图。这个看起来就像我提到的事件一样。
CREATE OR REPLACE VIEW todays_table AS
SELECT *
FROM pending_table
WHERE time_stamp >= CURDATE()
AND time_stamp < CURDATE() + INTERVAL 1 DAY
为什么不能有一个表和一些分区? – Strawberry
我更想知道是否有可能做我要求的东西(我大多是初学者),而不是关心简单性。你是对的! –
你的建议/计划是一个糟糕的体系结构。它使事情过于复杂而没有提供任何真正的好处。你想再想一遍。 – arkascha