हां:एक उपयोगकर्ता परिभाषित चर का उपयोग करें :
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;
@position
में वृद्धि का परिणाम डालने के लिए उपयोग किया जाने वाला मान है।
संपादित करें:
आप प्रारंभिक मान को इन-लाइन प्रबंधित करके चर की घोषणा को छोड़ सकते हैं:
...
SELECT ..., (@position := ifnull(@position, 0) + 1)
...
ड्राइवर का उपयोग करके क्वेरी निष्पादित करते समय यह विशेष रूप से आसान हो सकता है जो एकाधिक कमांड (अर्धविराम से अलग) की अनुमति नहीं देता है।