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

如何编写支持批量更新多个SKU库存的PHP SQL语句?

错误原因

你写的WHERE子句中用逗号分隔多个sku等值条件不符合SQL语法规范,SQL的WHERE子句多条件拼接需要使用AND/OR这类逻辑运算符,对于同字段匹配多个值的场景,使用IN操作符是最简便的实现方式。

正确写法(所有SKU统一更新为相同库存值)

你当前需要把40个指定SKU的库存统一设为1,直接使用IN操作符即可,把所有需要更新的SKU放到IN后的括号中用逗号分隔:

$sql="UPDATE bdam_eshop_productoptionvalues SET quantity=1 WHERE sku IN ('FR1640', 'FR1645', '此处补充剩余38个SKU')";

扩展:不同SKU更新为不同库存值的写法

如果后续遇到不同SKU需要设置不同库存的需求,可以用CASE WHEN实现批量更新,避免执行多次UPDATE语句:

$sql="UPDATE bdam_eshop_productoptionvalues 
SET quantity = CASE sku
    WHEN 'FR1640' THEN 1
    WHEN 'FR1645' THEN 2
    -- 按需添加更多SKU对应的库存值
    ELSE quantity -- 保证不在列表中的SKU库存不变
END
WHERE sku IN ('FR1640', 'FR1645', '其他需要更新的SKU')";

加WHERE条件是为了过滤不需要更新的行,提升语句执行效率。

内容的提问来源于stack exchange,提问作者Patrick Mc Cabe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 12:42:02