-- ============================================================ -- V2.4 幂等性支持:唯一索引 -- ============================================================ -- 订单表:平台订单号+平台+店铺 唯一,防止重复创建订单 -- 库存操作记录表:SKU+仓库+关联单号 唯一,防止重复扣减/锁定/解锁 -- 物流轨迹表:(运单号, 轨迹时间, 地点) 已有去重,新增强制唯一约束 -- ============================================================ -- 1. orders 表:平台订单号+平台+店铺 唯一索引 -- 确保同一店铺同一平台订单号不会重复创建 ALTER TABLE orders ADD CONSTRAINT uk_orders_platform_order_sn UNIQUE (platform_order_sn, platform, shop_id); -- 2. stocks 表:(sku_code, warehouse_id) 已有主键,验证唯一性 -- 确保每个仓库的SKU库存记录唯一 ALTER TABLE stocks ADD CONSTRAINT uk_stocks_sku_warehouse UNIQUE (sku_code, warehouse_id); -- 3. stock_logs 表:(sku_code, warehouse_id, related_no, type) 唯一索引 -- 防止同一操作重复记录(如重复扣减、重复解锁) -- 注意:如果 stock_logs 表没有这些字段,请根据实际表结构调整 -- 以下为假设字段名,请根据实际情况修改 -- ALTER TABLE stock_logs -- ADD CONSTRAINT uk_stock_logs_operation -- UNIQUE (sku_code, warehouse_id, related_no, operation_type); -- 4. waybill_status 表:(waybill_no) 已有唯一索引,验证是否存在 -- 确保运单号唯一 -- ALTER TABLE waybill_status ADD UNIQUE (waybill_no); -- 5. logistics_trace 表:(waybill_no, trace_time, location) 唯一索引 -- 确保同一运单同一时间同一地点的轨迹不重复 ALTER TABLE logistics_trace ADD CONSTRAINT uk_logistics_trace_waybill_time_location UNIQUE (waybill_no, trace_time, location);