You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写单条SQL批量修正可下载产品客户访问权限分配错误

单条SQL批量更新可下载产品权限分配错误记录方案

可以直接用MySQL多表关联更新语法实现一步批量修正,不需要先查询再逐行执行更新语句,具体SQL如下:

UPDATE magento_dev.downloadable_link_purchased dp
JOIN magento_dev.sales_order so 
    ON so.increment_id = dp.order_increment_id
JOIN magento_dev.sales_order_address soa 
    ON so.entity_id = soa.parent_id
JOIN magento_dev.customer_entity c 
    ON c.email = soa.shipping_email
SET dp.customer_id = c.entity_id
WHERE 
    so.customer_id = 12345 
    AND so.created_at > '2021-04-01' 
    AND soa.shipping_email IS NOT NULL 
    AND dp.customer_id != c.entity_id;

注意事项

  • 执行更新前建议先开启事务测试:先执行BEGIN;运行上面的更新语句,核对更新行数和内容符合预期后再执行COMMIT提交,出现问题可以直接执行ROLLBACK回滚,避免数据损坏
  • 可以先把语句中的UPDATE换成SELECT dp.purchased_id, dp.customer_id 原客户ID, c.entity_id 正确客户ID运行,确认要修正的记录和预期完全一致后,再执行更新操作
  • 如果业务中存在单个订单对应多个收货邮箱的场景,需要先确认关联逻辑不会出现单条购买记录匹配到多个客户ID的情况,避免更新错误

内容的提问来源于stack exchange,提问作者Mike Miller

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 06:18:04