如何在每次INSERT或DELETE查询执行时将所有ID AUTO Increment重置为顺序值..!

时间:2014-10-07 10:42:25

标签: mysql sql

我有一个名字作为列表的表,在里面我有一个COLUMN,就像删除一些行时所以AUTO Incrmementation列是" ID"进入soemthing非常糟糕的价值观。就像我不喜欢和缺乏适合的职业方式之间的缺失价值。所以我想要如果你的人可以指导我如何重置所有ID每个INSERT或DELETE查询执行行中的列值请... ..

1 个答案:

答案 0 :(得分:2)

如果您确实想要找到最低的未使用键值,请不要使用AUTO_INCREMENT,并手动管理您的键。但是,这不是推荐的做法。

AS在Auto Increment after delete in MySQL

解释
  

数据库中的主要自动增量键用于唯一标识a   给定的行,不应给出任何商业含义。所以离开吧   主键,并添加另一个列,例如   courseOrder。然后,当您从数据库中删除记录时,您可以   想要发送一个额外的UPDATE语句,以减少   courseOrder大于的所有行的courseOrder列   你正在删除的那个。

     

作为旁注,你永远不应该修改一个主键的值   关系数据库,因为可能有其他表引用   它作为外键并修改它可能会违反参考   约束

嗯,不推荐,但你坚持,所以用这个来重新订购 通过使用类似的东西:

ALTER TABLE table_name AUTO_INCREMENT = 1;