sql中alter的自增id的问题

image.png

同上面的问题,在有一列自增id列,比如是1,2,3,4,5,6当删除了5,6以后,再新增列是从7开始的,能不能从5开始呢?

这个方法是每次都是手动添加,能不能这个5能不能变量获取呢?

我现在试了  触发器 

set @var1 = (select max(id) from test);

alter table test auto_increment in @var1;

是不行的,有没有方法大家

小歆嵩 发布于 2021-2-4 11:59
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
小歆嵩Lv7初级互助
发布于2021-2-4 13:50

/*test*/

set @a=(select max(id) from test);

set @aql=concat('alter table test auto_increment=',@a);

prepare stml from @aql;

execute stml;

最佳回答
0
zsh331Lv8专家互助
发布于2021-2-4 12:03
删除数据后执行下这个语句即可; ALTER TABLE `tabname` AUTO_INCREMENT = 1;
  • 小歆嵩 小歆嵩(提问者) 这个1我想设置成变量,比如我现在数据是1,2,3,4,5 我只删除了4,5 然后我又新增,我想让自增从4开始
    2021-02-04 13:28 
  • zsh331 zsh331 回复 小歆嵩(提问者) 你没有明白这句话的意思…
    2021-02-04 13:44 
  • 小歆嵩 小歆嵩(提问者) 回复 zsh331 我解决了
    2021-02-04 13:50 
最佳回答
0
radioliuLv5见习互助
发布于2021-2-4 12:47

你这个还要考虑到rollback的场景

  • 0关注人数
  • 437浏览人数
  • 最后回答于:2021-2-4 13:50
    请选择关闭问题的原因
    确定 取消
    返回顶部