下面的查询工作正常,但不更新数据库中的记录。在我的数据库中有三条记录可供更新,但它没有更新。
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_详细信息表的截图。
最佳答案
您可以使用带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/