【问题标题】:Updating Woocommerce Coupon descriptions mysql更新 Woocommerce 优惠券描述 mysql
【发布时间】:2019-03-01 09:03:44
【问题描述】:

在我的数据库中,这给了我正在寻找的正确优惠券结果

SELECT p.`ID`, p.`post_title`, p.`post_excerpt`
FROM   `wp_posts` AS p
INNER JOIN `wp_postmeta` AS pm ON  p.`ID` = pm.`post_id`
WHERE  p.`post_type` = 'shop_coupon'
AND pm.`meta_key` = 'product_ids'
AND pm.`meta_value` = '131239'

但我需要更新所有这些超过 5k 的优惠券,并且标准导入/合并不会更新优惠券描述,由于我们的会计系统,我们的优惠券必须具有正确的描述,因此我需要通过以下方式更新它们sql

UPDATE p SET p.post_excerpt = 'emesa'
FROM wp_posts AS p
INNER JOIN wp_postmeta AS pm
ON p.ID = pm.post_id
WHERE p.post_type = 'shop_coupon'
AND pm.meta_key = 'product_ids'
AND pm.meta_value = '131239'

使用更新集不起作用。

【问题讨论】:

  • 您需要更新哪些详细信息?其背后的逻辑是什么?
  • 我需要更新 post_excerpt 下表格中的产品描述
  • 更新条件是什么?什么是更新值?在什么情况下会发生更新?
  • 试试这个 - UPDATE p SET p.post_excerpt = 'emesa' FROM wp_posts AS p INNER JOIN wp_postmeta AS pm ON p.ID = pm.post_id WHERE p.post_type = 'shop_coupon' ??
  • 我需要将product_ids为131239的优惠券中的所有优惠券描述设置为emesa

标签: mysql woocommerce coupon


【解决方案1】:

更新查询语法与选择查询不同。在更新查询中,您首先指定所有表(包括连接),然后使用Set 子句。在更新查询中没有使用From

来自MySQL Documentation

更新 [LOW_PRIORITY] [IGNORE] 表引用 SET assignment_list [WHERE where_condition] [订购...] [限制行数]

值: {表达式 |默认}

任务: col_name = 值

任务列表: 赋值 [, 赋值] ...

以下将是正确的查询:

UPDATE wp_posts AS p
INNER JOIN wp_postmeta AS pm
ON p.ID = pm.post_id 
SET p.post_excerpt = 'emesa'
WHERE p.post_type = 'shop_coupon'
AND pm.meta_key = 'product_ids'
AND pm.meta_value = '131239'

【讨论】:

    猜你喜欢
    • 2015-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多