Mysql - 如何在每周、每周的特定日期和时间将数据从一个表传输到另一个表?

标签 mysql database datatable

我想在每周的某一天(星期五 20:00)将数据从一张表传输到另一张表。我还想每周日重置第一个表中的数据。

当我运行此行时,它将正确的数据发送到右侧表(table1)。

$sql = "INSERT INTO table1 (Name, Email, Phone, Work, Week)
    VALUES ('$name', '$email', '$phone', '$work', '$weekNumber')";

当我运行这一行时,它会从 table1 向 table2 发送一个随机行。它不会在 table1 中存储任何新数据,仅使用 table1 中已存储的数据。

$sql = "INSERT INTO table2 (Name, Email, Work, Week) SELECT Name, Email, Work, Week FROM table1 Where Week = ('$weekNumber') ORDER BY RAND() LIMIT 1";

所有这些代码都写在 php 文件中,我在 phpMyadmin 中查看表格。

有没有 sql 专家对我如何在每周五 20:00 将表 1 中的数据传输到表 2 提出建议?提前欣赏一下。请记住,我是编写 sql 代码的新手,并且本周刚刚开始使用数据库,因此我真的很欣赏特定的代码示例,而不是关于我如何理解我的目标的一般信息。不过结合起来最好。

最佳答案

您可以使用 MySQL 中的事件调度程序轻松完成此操作

https://www.sitepoint.com/how-to-create-mysql-events/

http://www.mysqltutorial.org/mysql-triggers/working-mysql-scheduled-event/

例如,您可以使用以下内容每天执行特定任务:

 DELIMITER ;; 
    CREATE EVENT UpdateData ON SCHEDULE EVERY DAY STARTS '2016-10-10 00:00:00' -- This is scheduled to start from '2016-10-10' and updates data every day 
      DO BEGIN 
        UPDATE table1 SET Status = 1 WHERE Status = 0; 
        UPDATE table2 SET Status = 1 WHERE Status = 0;
     END;; 
 DELIMITER ;

关于Mysql - 如何在每周、每周的特定日期和时间将数据从一个表传输到另一个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39245336/

相关文章:

php - 脚本在复制数据库表时卡住 - Mysql - PHP

python - 情节破折号 : data_table background color for individual cell

c# - 选择数据表的某些列

php - Mysql 数据在选择列表中的单引号后被截断

mysql - 为什么不使用索引(在主键列上)?

database - 实体属性值 (EAV) 的替代方案?

mysql - 在本地服务器上自动进行 MySQL 数据库备份和恢复

javascript - 将文本框/单选按钮/和下拉列表中的信息添加到数据表

mysql - 获取带有 DATE 的行

mysql - 将部分数据库表合并到另一个数据库表中?