下面是一个用product中的数据更新表helper的简单查询。

UPDATE product p
INNER JOIN helper h ON p.productcode = h.productcode
SET p.picture = h.picture;

但是如果我在末尾添加WHERE p.gotpicture=0只更新p.gotpicture=0的记录,而不是整个表,那么查询将更新0行。为什么?

最佳答案

我是测试员,对我来说很好。
但你可以测试一下:

UPDATE product p , helper h
SET p.picture = h.picture
WHERE p.gotpicture=0
AND p.productcode = h.productcode;


UPDATE product p
SET p.picture = (select h.picture from helper h where p.productcode = h.productcode)
WHERE p.gotpicture=0
AND p.productcode in (select  h.productcode from helper h);

07-24 09:54
查看更多