Votre code semble n'avoir aucune erreur. De plus, le fait que cela fonctionne bien lorsque vous créez une autre table comme cible, en utilisant la même structure et les mêmes données que la table d'origine montre que l'erreur n'est pas là. La raison la plus probable est que vous avez un déclencheur sur votre table d'origine qui exécute une requête qui échoue, et c'est l'erreur que vous voyez.