我有一个名字作为列表的表,在里面我有一个COLUMN,就像删除一些行时所以AUTO Incrmementation列是" ID"进入soemthing非常糟糕的价值观。就像我不喜欢和缺乏适合的职业方式之间的缺失价值。所以我想要如果你的人可以指导我如何重置所有ID每个INSERT或DELETE查询执行行中的列值请... ..
答案 0 :(得分:2)
如果您确实想要找到最低的未使用键值,请不要使用AUTO_INCREMENT
,并手动管理您的键。但是,这不是推荐的做法。
AS在Auto Increment after delete in MySQL
解释数据库中的主要自动增量键用于唯一标识a 给定的行,不应给出任何商业含义。所以离开吧 主键,并添加另一个列,例如 courseOrder。然后,当您从数据库中删除记录时,您可以 想要发送一个额外的UPDATE语句,以减少 courseOrder大于的所有行的courseOrder列 你正在删除的那个。
作为旁注,你永远不应该修改一个主键的值 关系数据库,因为可能有其他表引用 它作为外键并修改它可能会违反参考 约束
嗯,不推荐,但你坚持,所以用这个来重新订购 通过使用类似的东西:
ALTER TABLE table_name AUTO_INCREMENT = 1;