Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Valor de incremento do MySQL


Sim:use uma variável definida pelo usuário :
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;

O resultado do incremento para @position é o valor usado para a inserção.

Editar:


Você pode pular a declaração da variável manipulando o valor inicial in-line:
...
SELECT ..., (@position := ifnull(@position, 0) + 1)
...

Isso pode ser particularmente útil ao executar a consulta usando um driver que não permite vários comandos (separados por ponto e vírgula).