mysql pdo使用LEFT JOIN更新记录

布朗曼复兴
"UPDATE tablename1  AS t1 LEFT JOIN
tablename2 AS t2 ON t1.pin = t2.pin AND t1.status = t2.status LEFT JOIN
tablename3 AS t3 ON t1.pin = t3.pin AND t1.status = t3.status LEFT JOIN
tablename4 AS t4 ON t1.pin = t4.pin AND t1.status = t4.status LEFT JOIN
tablename5 AS t5 ON t1.pin = t6.pin AND t1.status = t6.status LEFT JOIN
tablename6 AS t6 ON t1.pin = t6.pin AND t1.status = t6.status LEFT JOIN
SET t1.status = : status,
    t2.status = : status,
    t3.status = : status,
    t4.status = : status,
    t5.status = : status,
    t6.status = : status
WHERE t1.pin = : pin
AND t1.status = : active "

这是我的查询,用于一次更新多个表。有些表可能是空的,所以我用了,LEFT JOIN所以我只用值更新表。但是我遇到了这个错误,near 'SET t1.status = 'NotActive' AND t2.status = 'N' at line 7'所以我所做的就是更改,AND我仍然会收到错误,当我搜索错误Uncaught exception 'PDOException' with message 'SQLSTATE[42000]时,我发现的大多数事情都是在出现时出现的reserved word就我而言,我的代码中没有保留字。

任何建议都赞赏

德鲁
UPDATE tablename1  AS t1 LEFT JOIN
tablename2 AS t2 ON t1.pin = t2.pin AND t1.status = t2.status LEFT JOIN
tablename3 AS t3 ON t1.pin = t3.pin AND t1.status = t3.status LEFT JOIN
tablename4 AS t4 ON t1.pin = t4.pin AND t1.status = t4.status LEFT JOIN
tablename5 AS t5 ON t1.pin = t6.pin AND t1.status = t6.status LEFT JOIN
tablename6 AS t6 ON t1.pin = t6.pin AND t1.status = t6.status LEFT JOIN ????
SET t1.status = : status,
    t2.status = : status,
    t3.status = : status,
    t4.status = : status,
    t5.status = : status,
    t6.status = : status
WHERE t1.pin = : pin
AND t1.status = : active

那最后的LEFT JOIN是什么???它是否留在SET零件上?

我认为您在这条线上也有错字:

tablename5 AS t5 ON t1.pin = t6.pin AND t1.status = t6.status LEFT JOIN

我认为您的意思更接近于此:

UPDATE tablename1  AS t1
LEFT JOIN tablename2 AS t2 ON t1.pin = t2.pin AND t1.status = t2.status 
LEFT JOIN tablename3 AS t3 ON t1.pin = t3.pin AND t1.status = t3.status 
LEFT JOIN tablename4 AS t4 ON t1.pin = t4.pin AND t1.status = t4.status 
LEFT JOIN tablename5 AS t5 ON t1.pin = t5.pin AND t1.status = t5.status 
LEFT JOIN tablename6 AS t6 ON t1.pin = t6.pin AND t1.status = t6.status
SET t1.status = : status,
    t2.status = : status,
    t3.status = : status,
    t4.status = : status,
    t5.status = : status,
    t6.status = : status
WHERE t1.pin = : pin
AND t1.status = : active

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章