我試圖從另一個表(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