【发布时间】:2020-04-21 06:54:01
【问题描述】:
基本上,我正在尝试为客户修复损坏的 WooCommerce 数据库。
我有一个表 wp_woocommerce_order_itemmeta 并且所有 _product_id 值都被删除了。我可以使用这个 select 语句获得正确的 ID。它将返回所有 ID,根据需要每行一个。
SELECT
wp_wc_order_product_lookup.product_id
FROM
wp_woocommerce_order_items
INNER JOIN
wp_woocommerce_order_itemmeta
ON
wp_woocommerce_order_itemmeta.order_item_id = wp_woocommerce_order_items.order_item_id
INNER JOIN
wp_wc_order_product_lookup
ON
wp_wc_order_product_lookup.order_id = wp_woocommerce_order_items.order_id
WHERE
wp_woocommerce_order_itemmeta.meta_key = '_product_id'
现在,当我尝试编写更新语句时,我无法让它工作。我已经尝试了几种不同的方法。我在某处读到 SET 必须移过 INNER JOIN 行。
UPDATE
wp_woocommerce_order_itemmeta
INNER JOIN
wp_woocommerce_order_itemmeta
ON
wp_woocommerce_order_itemmeta.order_item_id = wp_woocommerce_order_items.order_item_id
INNER JOIN
wp_wc_order_product_lookup
ON
wp_wc_order_product_lookup.order_id = wp_woocommerce_order_items.order_id
SET
wp_woocommerce_order_itemmeta.meta_value = wp_wc_order_product_lookup.order_id
WHERE
wp_woocommerce_order_itemmeta.meta_key = '_product_id'
该代码产生以下错误[Err] 1066 - Not unique table/alias: 'wp_woocommerce_order_itemmeta'
wp_woocommerce_order_itemmeta
wp_wc_order_product_lookup
【问题讨论】:
-
是的,是时候掌握表格/列别名了
-
虽然在这种情况下它只是一个明显的校对错误
-
@Strawberry 你能详细说明一下吗?我不确定你想推断什么。
-
喝杯咖啡,重新阅读您的查询。推理将变得不言而喻。
标签: mysql wordpress woocommerce