我试图从另一个表(tmp_bmb)基于他们的supplier_reference更新产品在一个表(ps_product)中的价格。MySQL更新查询从另一个表返回0行受影响
下面的查询在MySQL运行良好:
SELECT * FROM ps_product,tmp_bmb WHERE tmp_bmb.supplier_reference = ps_product.supplier_reference
,并返回1700行。
但相应的(在我看来)UPDATE查询并不:
UPDATE ps_product,tmp_bmb SET ps_product.price = tmp_bmb.price WHERE tmp_bmb.supplier_reference = ps_product.supplier_reference
返回0行受到影响。
我的表是这样的:
ps_product: supplier_reference |价格
在ps_product.supplier_reference中,记录不是唯一的,也有空值。因此它不能成为主键。
tmp_bmb: supplier_reference |价格(这是新的价格)
在tmp_bmb供应商的参考是主键
很多感谢您的帮助!
这可能是相关的:http://stackoverflow.com/a/2186952/894885 – 2012-03-31 02:06:25