在PHP中将添加的信息从一个mysql表复制到另一个mysql表

在PHP中将添加的信息从一个mysql表复制到另一个mysql表,php,mysql,Php,Mysql,我在不同的mysql数据库中有两个表 我想从表A复制到表B。只有一种方法。 我需要从表B中读取last datetime,然后检查在读取的日期时间之后是否有任何数据添加到表A中。如果添加了一些数据,则复制它 我试过这个: 如果我刷新页面,它会写一行,但我需要它在一次加载中写入所有内容 do { #TABLE A $querylastA = "SELECT * FROM `stock` ORDER BY `jrk` DESC LIMIT 1"; $resultlastA = mys

我在不同的mysql数据库中有两个表

我想从表A复制到表B。只有一种方法。 我需要从表B中读取last datetime,然后检查在读取的日期时间之后是否有任何数据添加到表A中。如果添加了一些数据,则复制它

我试过这个:

如果我刷新页面,它会写一行,但我需要它在一次加载中写入所有内容

do
   {

#TABLE A    
$querylastA = "SELECT * FROM `stock` ORDER BY `jrk` DESC LIMIT 1";
$resultlastA = mysql_query($querylastA) or die(mysql_error());
while($rows=mysql_fetch_array($resultlastA)){
$lastcodeA = $rows['datetime'];
}

#TABLE B
$querylastB = "SELECT * FROM `stockcopy` ORDER BY `jrk` DESC LIMIT 1";
$resultlastB = mysql_query($querylastB) or die(mysql_error());
while($rows=mysql_fetch_array($resultlastB)){
$lastcodeB = $rows['datetime'];
}

#TABLE A - NEXT DATE AFTER LAST DATE IN TABLE B
$querynextA = "SELECT datetime FROM stock WHERE datetime > '$lastcodeB' ORDER BY datetime ASC LIMIT 1";
$resultnextA = mysql_query($querynextA) or die(mysql_error());
while($rows=mysql_fetch_array($resultnextA)){
$nextcodeA = $rows['datetime'];
}


   mysql_query("INSERT INTO stockcopy(datetime, data1, data2) SELECT datetime, data1, data2 FROM stock WHERE datetime = '$nextcodeA'");
   echo "Date from table A " . $lastcodeA . "<br>";
   echo "Date from table B " . $lastcodeB . "<br>";
   }
 while ('$lastcodeA' == '$lastcodeB');

您可以在几乎不了解SQL的情况下完成这项工作,但需要一些创造性:

创建一个临时表table_c,并将table_a的内容复制到那里

然后手动执行,这意味着在phpmyadmim中运行删除查询,删除不再重要的信息,例如从id<1000的表中删除


然后,从表c导出信息并将其导入表b并删除表c

您可以使用SELECT语句在表上插入数据,因此只需将条件放入SELECT

例如:

INSERT INTO table_example(foo, bar)
SELECT foo, bar FROM table_example2
WHERE time_condition > {SOME DATE}
这将在表中插入SELECT语句返回的行,这些行满足时间条件。您需要将{SOME DATE}替换为不带括号的实际日期

此外,请参阅:

而且:

问题在于:当“$lastcodeA”==“$lastcodeB”时


将其更改为:while$lastcodeA!=$lastcodeB;现在它工作了!谢谢大家:

您可以使用foreach循环从第一个表到第二个表检索信息。好luckI需要从一个数据库读取数据并写入另一个数据库,我将如何管理数据库连接?还有,如果在我的datetime之后有两个输入,会发生什么呢?插入db2.table_examplefoo,bar SELECT foo,bar FROM db1.table_example2,其中time_condition>{SOME DATE}@Jal_,您是使用PHP还是直接在MySQL控制台中执行此操作?还有,在我的datetime之后有两个输入是什么意思?