W przypadku ostatniego zapytania użyj tego
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() w MySQL jest PIERWSZYM identyfikatorem utworzonym w partii, w przeciwieństwie do SCOPE_IDENTITY() w SQL Server, który jest OSTATNIM identyfikatorem. Ponieważ jest to pierwszy, zwiększamy każdy wiersz za pomocą zmiennej @rn, zaczynając od addition=0
dla pierwszego rzędu.