PHP MySQL更新与两个表不工作

时间:2018-07-30 19:56:58

标签: php mysql

我正在使用两个表进行更新,但是由于某种原因,该更新不起作用并且没有生成错误,因此我找不到问题。有人可以说明一下吗?为什么这不起作用?

$upd = "
UPDATE table t
     , images i 
   SET t.image_blob = i.image_blob 
 WHERE t.record_id='".$rid."' 
   AND i.image_id='".$iid."'";<br>
$dbh->exec($upd);

换句话说,我想从图像表(在image_id=$iid处)和更新表(t)在record_id=$rid处获取特定记录。

1 个答案:

答案 0 :(得分:0)

在您的代码中,首先您说自己打算更新2个表,但随后只更新表t。 如果表没有与前键相关,则可以尝试下一个:

$upd = "
UPDATE table t
   SET t.image_blob = (SELECT i.image_blob FROM images i WHERE i.image_id='".$iid."') 
 WHERE t.record_id='".$rid."'";
$dbh->exec($upd);

否则,您可以尝试使用“ FROM”和“ JOIN's”在Update a single table based on data from multiple tables SQL Server 2005,2008给出的解决方案