解决id值不连续的问题,有两种方法,一是删除原id列,二是不删除原id列。
第一种:删除原id列,再插入新id列,设置新id列的参数。
# 删除指定表tableName的原id列
ALTER TABLE tableName DROP `id`;
# 新增id列
ALTER TABLE tableName ADD `id` INT NOT NULL FIRST;
# 设置id列的参数
ALTER TABLE tableName MODIFY COLUMN `id` INT NOT NULL AUTO_INCREMENT,ADD PRIMARY KEY(id);
第二种: 更新原id列的id值。本人觉得第二种更好一点。第一种方法,删除列后,很容易出现问题。
-- 设置id为0
SET @auto_id = 0;
-- UPDATE 表名 set id = (@auto_id := @auto_id +1);
UPDATE tableName SET id = (@auto_id := @auto_id +1);
-- ALTER TABLE 表名 AUTO_INCREMENT = 1;
ALTER TABLE tableName AUTO_INCREMENT = 1;