问题:表中id为自增,
比如1 2 3 4 5 6 7 8 9
随后我把表清空
然后继续添加
大家都知道这个id字段就是10 11 12 13 14但我把表清空,不是用truncate这个命令的,是用delete这个删的,然后把服务重启后,再插入就是1 2 3 4了,有什么办法可以让它不这样,而是15 16 17.

解决方案 »

  1.   

    不要直接delete;select @mx := max(id) from table;
    delete FROM table;
    set @sql = CONCAT('alter table test AUTO_INCREMENT = ', @mx + 1);
    prepare st from @sql;
    execute st;
      

  2.   

    不过,个人感觉,如果是真的生产环境,很少会delete所有数据,一般都是逻辑删除,不会有这个问题。
      

  3.   

    如果你的DELETE后,应该是15,16,即使重启也是这样啊。
    你的MYSQL版本是什么?CREATE TABLE语句是什么?
      

  4.   

    我windows下5.1,重启服务,确实也是这个症状