sql >> Base de Datos >  >> RDS >> Mysql

Instrucción de selección de inserción de múltiples filas de Mysql con last_insert_id ()

Para la última consulta, use esto

INSERT INTO dbNEW.`user` (userID, entityID, other)  
SELECT user_id, entityID, other
FROM
(
    SELECT user_id, @key + @rn entityID, other, @rn := @rn + 1
    FROM (select @rn:=0) x, dbOLD.`user`
    order by user_id
) y;

LAST_INSERT_ID() en MySQL es la PRIMERA identificación creada en un lote, a diferencia de SCOPE_IDENTITY() en SQL Server, que es la ÚLTIMA identificación. Dado que es el primero, incrementamos cada fila usando la variable @rn, comenzando en addition=0 para la primera fila.