1
我有一個項目更新Magento商店priselist。我有我想要更新的項目列表,我想用一個MySQL查詢(通過思考,它更有效)來完成。 priselist包括sku和價格。C#項目更新從兩個表中選擇行的MySQL列表
我有這兩個表。從表1我使用SKU在表更新2的值,這是該項目的價格時* ENTITY_ID *兩個表和attribute_id在等於是'64'。
表1
product_entity
entity_id | sku
1 | p1
2 | p2
3 | p3
表2
product_entity_decimal
entity_id | attribute_id | value |
1 | 64 | 5 |
1 | 65 | NULL |
1 | 66 | NULL |
2 | 64 | 7 |
2 | 65 | NULL |
2 | 66 | NULL |
3 | 64 | 1 |
3 | 65 | NULL |
3 | 66 | NULL |
所以,我怎麼能與一個查詢P1獎更新爲6和P3獎金爲2
我試試這個查詢但它沒有工作...
UPDATE product_entity, product_entity_decimal SET product_entity_decimal.value =
CASE
WHEN product_entity.entity_id = product_entity_decimal.entity_id AND product_entity_decimal.attribute_id = '64' AND product_entity.sku = 'p1' THEN '6'
WHEN product_entity.entity_id = product_entity_decimal.entity_id AND product_entity_decimal.attribute_id = '64' AND product_entity.sku = 'p1' THEN '2'
ELSE value
END
對於我的項目,我使用C#與.Net和MySQL 5.x通過使用MySql.Data.MySqlClient。也許有更好的方法來更新MySQL數據庫中3000個項目的列表,如果有共享請。 :)
謝謝你有用,但我有一個問題。是不是需要更多的服務器端資源才能執行多個SQL查詢?我的項目的目的是爲了減輕主機方面的負擔。我在「內存= 1 /計算」的基礎上得到了其他想法。這意味着在導出數據時我會保留entity_id,然後它將在一個表中簡單更新,但又是一個或多個查詢,我仍然認爲一個查詢比許多查詢更好。 – 2012-08-05 19:15:28