使用表A的内容更新表B?

时间:2013-08-19 08:45:11

标签: php mysql

我有2张桌子,表A:

sid, phone, ts

表B:

id, phone, sid(NULL), ts

我编写了一个PHP脚本来连接,查询和读取数据,但我不确定如何编辑数据。

我基本上想要做的是将tableB phone与tableA phone匹配,如果匹配则更新tableB列sid NULL与tableA sid

我确信这可以通过whileforeach循环完成,但我不确定如何。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

您必须运行此查询:

update tableA, tableB set tableB.sid = tableA.sid where 
                 tableB.phone = tableA.phone

答案 1 :(得分:0)

如果您需要自动更新数据库,那么您应该使用CRON作业。

第1步:将以下内容复制粘贴到另一个php文件中,例如cron.php。同时添加数据库连接部分。 :

$query_table1 = "SELECT * FROM table1";
$result_table1= msyql_query($query_table1);
while($row_table1 = mysql_fetch_array($result_table1)){
    $phone1 = $row_table1['phone'];
    $sid1 = $row_table1['sid'];

    $query_table2 =  "UPDATE table2 SET sid=$sid1 WHERE phone=$phone1";
    $result_table2= msyql_query($query_table2);
}

第2步:转到主机控制面板,然后转到cron。在那里添加一个新的cron作业。

如果你需要每1分钟执行一次文件,那么这将有助于原因:

* * * * * <command> #Runs every minute

基本语法是时间/路径/到/命令arg1 arg2

Link to Cpanel docs

干杯