在PHP中将添加的信息从一个mysql表复制到另一个mysql表
我在不同的mysql数据库中有两个表 我想从表A复制到表B。只有一种方法。 我需要从表B中读取last datetime,然后检查在读取的日期时间之后是否有任何数据添加到表A中。如果添加了一些数据,则复制它 我试过这个: 如果我刷新页面,它会写一行,但我需要它在一次加载中写入所有内容在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
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之后有两个输入是什么意思?