Pour la dernière requête, utilisez ceci
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;
Le LAST_INSERT_ID() dans MySQL est le PREMIER identifiant créé dans un lot, contrairement à SCOPE_IDENTITY() dans SQL Server qui est le DERNIER identifiant. Puisqu'il s'agit de la première, nous incrémentons chaque ligne à l'aide de la variable @rn, en commençant par addition=0
pour la première ligne.