0

我有以下函数用于增加值组:

SET @IncrementValue := 0;
SET @VIN := 0;

UPDATE tbInventoryMedia
SET 
  @IncrementValue := IF(@VIN <> strVIN, @IncrementValue + 1, 1),
  @VIN := strVIN, 
  tbInventoryMedia.intOrder = @IncrementValue;

这看起来像一个非常直接的查询......如果最后一个 vin 不同并重新开始编号,则递增。任何想法为什么它在 SET 之后显示编译错误?

任何帮助是极大的赞赏。

4

1 回答 1

0

您无法更新SET属于UPDATE.

试试这个:

SET @IncrementValue := 0;
SET @VIN := 0;

UPDATE  tbInventoryMedia
SET     tbInventoryMedia.intOrder = CASE @vin WHEN @vin := strVin THEN @IncrementValue := @IncrementValue + 1 ELSE @IncrementValue := 1 END
ORDER BY
        strVIN;
于 2012-06-01T20:09:05.440 回答