woocommerce更新优惠券说明mysql

时间:2018-09-25 16:54:05

标签: mysql woocommerce

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

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'

更新集不起作用

1 个答案:

答案 0 :(得分:0)

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

来自MySQL Documentation

  

更新[LOW_PRIORITY] [IGNORE] table_reference       SET任务清单       [WHERE where_condition]       [订购...]       [LIMIT row_count]

     

值:       {expr |默认值

     

分配:       col_name =值

     

assignment_list:       分配[,分配] ...

以下将是正确的查询:

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'