mysql - phpmyadmin:数据库事件

标签 mysql database 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

其他人评论了这种数据设计的智慧,行从一个表移动到另一个表。他们的评论有相当大的值(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/

相关文章:

php - 我如何限制对页面的访问?

php - 更新mysql和php后无法启动phpmyadmin

sql - 如何对 SQL Server Express 进行实时更改

database - 现在适用于 Windows Phone 7 的可行本地数据库是什么?

database - TOAD for DB2 的免费替代品

mysql - phpmyadmin 无法打开表的浏览 View

mysql - phpmyadmin 查询永远不会返回

php - 来自 PHP 的 PREPARE STMT 查询不起作用

php - 使用 MySQL 和 PHP 在多个表中搜索

c# - 在 DbContextOptions 上找不到 UseMysql 方法