Zde je řešení na místě (ale ne jednovrstvé)
Zjistěte maximální id:
select max(id) as maxid
from shop;
Pamatujte si tuto hodnotu. Řekněme, že se to rovná 1000;
Znovu vložte jedinečné hodnoty s posunem:
insert into shop (id, tax_id)
select distinct id + 1000, tax_id
from shop;
Vypustit staré hodnoty:
delete from shop
where id <= 1000;
Obnovení normálních ID:
update shop
set id = id - 1000;
ZISK!