kingforce 发表于 2018-10-4 11:06:57

Mysql如何使自增字段重新计算?

  在实际开发的过程中,我们为了方便,也为了设置主键和索引方便,通常会设置id为自动类型,即自动增长类型。
  这一点非常常见,是一个新手必学的知识,在所有数据(ACCESS\SQL SERVER\MYSQL\SQLITE\ORACLE)等数据库中这一潜规则被广泛的应用。但碍于篇幅所限,本文着重讲述mysql。
  该字段详细记录了该列的唯一恒定值,也因此,我们删除该列之后,该列的字段值也就永远的失去了,包括这个自增的。
  也是就说,假设数据库中有1-100的id值,假如我们删除了99.那么数据库中就是97-98-100.
  即没有了99.
  即使你全部清空数据表也依然如此、这在某些时候给我们造成了极大的不方便。
  如何才能让这个字段自动从1开始自动递增呢?
  1 清空所有数据,将自增去掉,存盘,在加上自增,存盘,就从1开始了
  2 truncate table 你的表名
  这样不但将清除数据,而且可以重新位置identity属性的字段
  看到这里有的童鞋就要骂了,说数据都清空了我都不能删掉表再建吗?还用你说?
  实际上这也是一种方法。
  但接下来我要说的才是重中之重,即如果保留原有数据?
  方法如下:
  1,我们在执行truncate之前,先进入mysql管理工具(如phpmyadmin等),导出数据为sql格式。
  2。执行truncate table 你的表名
  3,再进入mysql管理工具(如phpmyadmin等),导入数据。
  然后你再打开,怎么样?是不是完美的实现了你的要求?
  有这方面需求的童鞋,赶紧去看看吧!

页: [1]
查看完整版本: Mysql如何使自增字段重新计算?