como dice jcarteagaf es correcto es decir :
Código SQL
[-]insert into cajanueva (todos los campos) select todos los campos sin id from caja
Si fuera al contrario podrías ahorrarte código es decir si en la tabla que insertas tuviese un campo más de la tabla que te traes los datos, ya que podríamos usar el comodín *, sería asi..
Código SQL
[-]insert into cajanueva select x as id,* from caja