PHP PDO UPDATE MySQL Multiple Tables



我正在学习使用MySQL的PHP PDO,并想知道如何使用从表1中的一行链接的一个update查询来更新多个表。例如,如果我想用一个只知道表1记录PK id的查询更新表2和/或3中的值,我想也许我可以使用Left Join,但无法得到正确的结果。我不需要使用左联接,只需要最优化的编码。

没有导致任何更改的示例代码。我认为它的链接不正确。

**我希望从代码中得到什么:更新表2,3等中特定行的值。。通过仅从具有表2、3的外键的表1中知道PK。

$updt = $db->prepare("UPDATE t3 LEFT JOIN t1 ON t1.table3_fk =  
t3.table3_id SET t3.fooTable3=:VAR1, t3.barTable3=:VAR2 WHERE   
t1.table1_id = :VARID");
$updt->bindParam(':VAR1', $VAR1, PDO::PARAM_STR);
$updt->bindParam(':VAR2', $VAR2, PDO::PARAM_STR);
$updt->bindParam(':VARID', $VARID, PDO::PARAM_STR);     
$updt->execute();

表格结构:

t1              t2             t3     
table1_id(PK)   table2_id(PK)  table3_id(PK)
table2_fk       fooTable2      fooTable3
table3_fk                      barTable3

示例记录:

t1     t2            t3
22     10            14
10     someabcdata   somedefdata
14                   someefgdata

任何帮助都将是伟大的,谢谢。

第1版:我确实试着发布了一张表格布局的图片,但不幸的是,根据这个网站,我没有足够的代表点。谢谢你的链接。

第2版:详细解释

第3版:去掉图像以便于查看

您的代码包含一个拼写错误。在第一个语句中,变量被称为$updtt,但随后的语句使用$updt

相关内容

  • 没有找到相关文章

最新更新