Mysql phpmyadmin:数据库事件

Mysql phpmyadmin:数据库事件,mysql,database,phpmyadmin,Mysql,Database,Phpmyadmin,我试图将记录从一个表(即将出现)移动到另一个表(今天),此时记录的日期(从即将出现)等于今天的日期。我如何在phpmyadmin中使用重复事件来实现这一点?您当然可以使用在每天午夜(实际上是在午夜后不久)运行的MySQL事件。在那件事上你可以做任何你想做的事。这里有一个例子 CREATE EVENT `midnight_event` ON SCHEDULE EVERY 1 DAY STARTS '2015-10-10 00:00:00' ON COMPLETION

我试图将记录从一个表(即将出现)移动到另一个表(今天),此时记录的日期(从即将出现)等于今天的日期。我如何在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
创建“午夜”事件`
按时
每1天从“2015-10-10 00:00:00”开始
竣工保护区
在从机上禁用
一定要开始
启动交易;
插入
到今天的桌子上
值(列,列,列,列)
选择col,col,col
从挂起的表
其中时间戳>=CURDATE()
时间戳=CURDATE()
时间戳
其他人则评论了这种数据设计的智慧,行从一个表移动到另一个表。他们的评论很有价值。如果你想要一个有今天事件的“表”,请考虑一个观点。这张表看起来就像我提到的事件中您维护的表

CREATE OR REPLACE VIEW todays_table AS
SELECT *
  FROM pending_table
 WHERE time_stamp >= CURDATE()
   AND time_stamp <  CURDATE() + INTERVAL 1 DAY
创建或替换视图todays\u表作为
挑选*
从挂起的表
其中时间戳>=CURDATE()
和时间戳
为什么不拥有一个表和一些分区呢?我更好奇的是,是否可以按照我的要求去做(我大部分是初学者),而不是简单。不过你是对的!你的建议/计划是一个糟糕的架构。它使事情变得过于复杂,而没有提供任何真正的好处。你要重新考虑一下。回答你的问题:没有这样的事件,所以你没有什么可以反应的。您必须定期进行日期比较投票。真是个坏主意:-)好的,谢谢你提供的信息!