Ya:Gunakan variabel yang ditentukan pengguna :
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;
Hasil kenaikan ke @position
adalah nilai yang digunakan untuk sisipan.
Sunting:
Anda dapat melewati deklarasi variabel dengan menangani nilai awal sebaris:
...
SELECT ..., (@position := ifnull(@position, 0) + 1)
...
Ini bisa sangat berguna saat menjalankan kueri menggunakan driver yang tidak mengizinkan banyak perintah (dipisahkan dengan titik koma).