【问题标题】:mySQL index reset to zeromySQL 索引重置为零
【发布时间】:2018-10-16 18:41:44
【问题描述】:

我需要重建一个 mySQL 表的索引,以便重新从 0 开始,因为一些字段被删除。我确实创建了一个新索引,删除旧索引,将新索引作为主键,但它不是从 0 开始。 也通过 OPTIMIZE TABLE & REPAIR TABLE go OK,表和 DB 工作正常,但索引没有重置为 0。是否可以以某种方式自动或手动使用 mySQL?

提前谢谢你!

【问题讨论】:

  • 你的意思是自增主键?
  • 您能否发布您的表格创建声明,以便我们了解您正在使用的内容和尝试调整的内容?
  • 几乎可以肯定你不需要这样做。你到底想达到什么目标?
  • 创建表DB (id int(11) NOT NULL AUTO_INCREMENT, title varchar(45) 默认空值,主键 (id)) ENGINE=InnoDB 默认字符集=utf8mb4整理=utf8mb4_0900_ai_ci
  • 暂时还没有。我只是害怕让它变大并占据空间......

标签: mysql


【解决方案1】:

假设您使用 AUTO-INCREMENT int 作为索引,一个简单的语句应该可以纠正这个问题:

    ALTER TABLE tablename AUTO_INCREMENT = 1

【讨论】:

  • 3 4 5 6 7 8 9 10 11 13 14 15 16 18 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 76 86
  • 我终于得到了,除了您的支持“对于 InnoDB,您不能将 auto_increment 值设置为低于或等于当前最高索引”。谢谢!
猜你喜欢
  • 2012-05-28
  • 1970-01-01
  • 2013-03-27
  • 2016-03-14
  • 2016-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-20
相关资源
最近更新 更多