下面的查询工作正常,但不更新数据库中的记录。在我的数据库中有三条记录可供更新,但它没有更新。

UPDATE vgm_details VD SET VD.job_id = ( select S.job_id from stuffings S JOIN vgm V ON S.booking_id = V.booking_id WHERE S.container_no = VD.container_no) where VD.job_id = 0;

我附上了vgm_详细信息表的截图。
mysql - 在mysql中使用联接查询更新数据-LMLPHP

最佳答案

您可以使用带join的更新来代替子查询(以及相关的作用域问题)

UPDATE vgm_details VD
INNER JOIN  stuffings  S ON S.container_no = VD.container_no
INNER JOIN vgm V  ON S.booking_id = V.booking_id
SET VD.job_id = S.job_id
WHERE VD.job_id = 0;

关于mysql - 在mysql中使用联接查询更新数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58991037/

10-10 04:19