我有一个更新 Magento 商店priselist的项目。我有我想要更新的项目列表,我想用一个 MySQL 查询来完成它(通过思考,它更有效)。priselist包括sku 和价格。
我有这两张桌子。从表 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
对于我的项目,我通过使用 MySql.Data.MySqlClient 将 C# 与 .Net 和 MySQL 5.x 一起使用。如果有请分享它,也许有更好的方法来更新 MySQL 数据库中 3000 项的列表。:)