Có:Sử dụng biến do người dùng xác định :
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;
Kết quả của việc tăng lên @position
là giá trị được sử dụng cho phần chèn.
Chỉnh sửa:
Bạn có thể bỏ qua việc khai báo biến bằng cách xử lý giá trị ban đầu trong dòng:
...
SELECT ..., (@position := ifnull(@position, 0) + 1)
...
Điều này có thể đặc biệt hữu ích khi thực hiện truy vấn bằng trình điều khiển không cho phép nhiều lệnh (phân tách bằng dấu chấm phẩy).