我遇到的情况是,我需要更新MySQL数据库列中的数据,在该列中,我将数据从一行相关数据的列复制到同一列但在另一行。
这是一个名为"wp_woocommerce_order_itemmeta".
的Wordpress / WooCommerce数据库表,我希望能够复制meta_value where meta_key=_product_id to meta_value column where meta_key=_variation_id whereever the order_item_id numbers match
的值。
因此,在屏幕快照中,您看到所有order_item_id
值都相同(它们全部为8)-我希望将meta_value列中的172复制到meta_value column where meta_key=_variation_id
我希望能够使用_product_id值来更新这些值,因为我有大约180种产品,并且可以相当快地完成此操作。但是,我不能通过包含order_item_id数字来完成此操作,因为我有成千上万的订单。
从OpenCart迁移后,所有版本ID都带有0值。我希望有一种方法可以运行这样的查询。
答案 0 :(得分:1)
我想出了我自己问题的答案。 这对我有用:
UPDATE wp_woocommerce_order_itemmeta as wp1, wp_woocommerce_order_itemmeta as wp2
SET wp2.meta_value = replace(wp2.meta_value,'0','172')
WHERE wp1.order_item_id = wp2.order_item_id AND wp1.meta_key = '_product_id'
AND wp2.meta_key = '_variation_id' AND wp1.meta_value='172' AND wp2.meta_value='0';
我希望这将来对某人有帮助。