Đây là một giải pháp tại chỗ (nhưng không phải một lớp lót)
Tìm hiểu id tối đa:
select max(id) as maxid
from shop;
Hãy nhớ giá trị này. Giả sử nó bằng 1000;
Chèn lại các giá trị duy nhất, với độ lệch:
insert into shop (id, tax_id)
select distinct id + 1000, tax_id
from shop;
Bỏ các giá trị cũ:
delete from shop
where id <= 1000;
Khôi phục id bình thường:
update shop
set id = id - 1000;
LỢI NHUẬN!