Ano:Použijte uživatelem definovanou proměnnou :
SET @position := 0; -- Define a variable
INSERT INTO products
SELECT id_product, id_category, name, (@position := @position + 1)
FROM db2.products
WHERE id_category = xxx;
Výsledek zvýšení na @position
je hodnota použitá pro vložení.
Upravit:
Deklarace proměnné můžete přeskočit zpracováním počáteční hodnoty na řádku:
...
SELECT ..., (@position := ifnull(@position, 0) + 1)
...
To může být užitečné zejména při provádění dotazu pomocí ovladače, který neumožňuje více příkazů (oddělených středníkem).