Voici une solution sur place (mais pas en une seule ligne)
Découvrez l'identifiant max :
select max(id) as maxid
from shop;
Rappelez-vous cette valeur. Disons qu'il est égal à 1000 ;
Réinsérez les valeurs uniques, avec décalage :
insert into shop (id, tax_id)
select distinct id + 1000, tax_id
from shop;
Supprimer les anciennes valeurs :
delete from shop
where id <= 1000;
Restaurer les identifiants normaux :
update shop
set id = id - 1000;
PROFITEZ !