sql语句从头到尾再次生成自动增量字段

时间:2011-08-12 18:56:13

标签: mysql sql auto-increment

我有一个MYSQL表。

在该表中,有一个列名称SRNO是其主键,也是自动增量。

我在该表中有大约25000条记录,但该表之间的某些记录已被删除。

例如删除记录号10等。

我想要一个SQL脚本运行mysql来重新生成所有自动增量字段,以便它再次从1开始并在最后一条记录结束,以避免丢失记录。

由于

1 个答案:

答案 0 :(得分:0)

这通常不被认为是个好主意,因为你可以通过这种方式严重干扰参照完整性。如果这是一个美学的东西,我建议保持原样。话虽如此,这就是你做的:

  • 创建一个与旧模式具有相同模式的新表,并将自动增量设置为1。
  • 将旧表中的所有记录插入到新表中,但自动增量列除外。
  • 将原始表重命名为其他内容
  • 将新表重命名为原始名称

这将有效地“重新”你的桌子。