重置递增表ID

在使用INSERT IGNORE INTO时,但插入数据已存在时会忽略新增,但主键自增ID却不会忽略,而是会记住自增,导致表主键不连续

-- 因为原id是主键唯一ID,所以得先处理成超过原自增id值, where条件自己设置,
UPDATE tableName SET id = id + 100000000 WHERE id > 999;
-- SELECT @n := 1000 表示n的起始值1000
UPDATE tableName SET id = (select @n := @n + 1 from (SELECT @n := 1000) as t) where id > 999 ;
-- 重置自增ID的索引
alter table tableName auto_increment= 1

Guess you like

Origin blog.csdn.net/qq_35606400/article/details/120830819