Php 将所有数据从一个表转移到另一个表

Php 将所有数据从一个表转移到另一个表,php,mysql,Php,Mysql,我有两个表A和B,这两个表都是相同的,如果我今天要在表A上插入一些值,我想在2天后在表B上自动插入所有插入的表A数据。例如,今天是2013年6月15日,所有表A数据在2013年6月17日自动转移 请给我剧本 提前谢谢。也许您正在寻找以下产品: CREATE TABLE tableB LIKE tableA; 也许你在寻找这样的东西: CREATE TABLE tableB LIKE tableA; 如前所述,此操作的SQL代码是从A插入b select* 要自动调用它,您可以编写一个小的PH

我有两个表A和B,这两个表都是相同的,如果我今天要在表A上插入一些值,我想在2天后在表B上自动插入所有插入的表A数据。例如,今天是2013年6月15日,所有表A数据在2013年6月17日自动转移

请给我剧本


提前谢谢。

也许您正在寻找以下产品:

CREATE TABLE tableB LIKE tableA;

也许你在寻找这样的东西:

CREATE TABLE tableB LIKE tableA;

如前所述,此操作的SQL代码是从A插入b select*


要自动调用它,您可以编写一个小的PHP Cronjob,将它添加到服务器的crontab中,并让它每隔x分钟/小时/天执行一次所需的操作


要自动调用此函数,您可以编写一个小型PHP Cronjob,将其添加到服务器的crontab中,并让它按需要每隔x分钟/小时/天执行一次

您需要在表a中的行中添加一个时间戳字段,然后您可以执行以下操作:

insert into b (select * from A where datediff(curdate(), postdate)>=2)
其中postdate是您的时间戳


若要自动执行此操作,您可以使用mySQL事件调度器(请参阅),以了解在服务器上启用的语法,或者使用其他地方建议的cron作业

您需要在表a中的行中添加时间戳字段,然后您可以执行以下操作:

insert into b (select * from A where datediff(curdate(), postdate)>=2)
insert into tableb select * from tablea;
其中postdate是您的时间戳

要实现自动化,您可以使用mySQL事件调度器(请参阅),以了解在服务器上启用的语法,或者使用其他地方建议的cron作业

insert into tableb select * from tablea;
完整文档


如果您使用的是mysql 5.1或更高版本,那么完整文档

从AINSERT插入B SELECT*到从Aevents插入B SELECT*是一个不错的选择。我们可以使用mysql触发器解决这个问题吗?也许可以,但您必须找到一些与表相关的触发器来使用。触发器仅在INSERT、UPDATE或DELETE语句时触发。我想您可以在每次插入表A时触发副本,但这可能会生成大量的活动,而这些活动的效果非常小。这是否比事件好,必须由实时服务器上的流量决定。如果您使用mysql 5.1或更高版本,事件是一种方法。我们可以使用mysql触发器解决此问题吗?也许可以,但您必须找到一些与表相关的触发器来使用。触发器仅在INSERT、UPDATE或DELETE语句时触发。我想您可以在每次插入表A时触发副本,但这可能会生成大量的活动,而这些活动的效果非常小。这是否比一个事件好,必须由实时服务器上的流量来决定。