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

借助Navicat在MySQL中实现多SKU共享库存的管理方案

实现MySQL库存组同步更新方案

针对你的需求(同一UPC组内,任意SKU库存变化时同步更新组内所有SKU的库存),可以通过MySQL触发器实现,以下是具体步骤和代码:

核心逻辑

组的定义:同一UPC下,以AliasOf为null的主SKU为核心,所有AliasOf指向该主SKU的别名SKU与主SKU构成一个库存同步组。当组内任意SKU的Quantity字段发生变更时,同步更新组内所有SKU的Quantity为新值。

1. 创建同步更新触发器

假设你的表名为inventory,创建AFTER UPDATE触发器来监听库存变更:

DELIMITER //
CREATE TRIGGER sync_inventory_group
AFTER UPDATE ON inventory
FOR EACH ROW
BEGIN
    DECLARE main_sku VARCHAR(255);
    -- 仅当库存实际发生变化时执行同步
    IF OLD.Quantity != NEW.Quantity THEN
        -- 确定当前SKU所属组的主SKU
        IF NEW.AliasOf IS NULL THEN
            SET main_sku = NEW.SKU;
        ELSE
            SET main_sku = NEW.AliasOf;
        END IF;
        -- 同步组内所有SKU的库存,避免重复更新触发递归
        UPDATE inventory
        SET Quantity = NEW.Quantity
        WHERE UPC = NEW.UPC
          AND (SKU = main_sku OR AliasOf = main_sku)
          AND Quantity != NEW.Quantity;
    END IF;
END //
DELIMITER ;

2. (可选)新增SKU时自动同步库存

如果需要支持新增别名SKU时自动同步主SKU的库存,可以添加AFTER INSERT触发器:

DELIMITER //
CREATE TRIGGER sync_new_inventory
AFTER INSERT ON inventory
FOR EACH ROW
BEGIN
    DECLARE main_quantity INT;
    -- 插入的是别名SKU时,同步主SKU的库存值
    IF NEW.AliasOf IS NOT NULL THEN
        SELECT Quantity INTO main_quantity
        FROM inventory
        WHERE SKU = NEW.AliasOf AND UPC = NEW.UPC;
        
        UPDATE inventory
        SET Quantity = main_quantity
        WHERE SKU = NEW.SKU AND UPC = NEW.UPC;
    END IF;
END //
DELIMITER ;

3. 优化建议

  • 添加索引:为避免全表扫描,创建联合索引提升更新效率:
    CREATE INDEX idx_upc_aliasof ON inventory(UPC, AliasOf);
    CREATE INDEX idx_upc_sku ON inventory(UPC, SKU);
    
  • 权限说明:创建触发器需要当前数据库用户拥有TRIGGER权限。
  • 事务一致性:触发器与原更新/插入操作处于同一事务中,若同步更新失败,原操作会自动回滚,保证数据一致性。

验证示例

以你提供的测试数据为例:

  • 执行UPDATE inventory SET Quantity = 10 WHERE SKU = '123456789123b';,组内所有SKU(123456789123a、123456789123b、123456789123c、123456789123d)的Quantity都会被更新为10。
  • 执行UPDATE inventory SET Quantity = 8 WHERE SKU = '123456789123a';,所有别名SKU的Quantity也会同步变为8。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 12:48:09