我不确定我在这一点上是正确的。
我用id作为主键和自动增量的值插入了5行。
然后我删除行号2-4。
当我插入一个没有id的新行时,新的id变成了"6“。这是正常的吗?
如果您想要mysql插入到已删除的行中,这是怎么可能的?设置是什么?
发布于 2010-07-25 01:49:55
是的,这是正常的。如果要使用特定的ID号插入,则必须在insert语句中指定该编号。
auto increment的思想是让值不断增加。
发布于 2010-07-25 01:50:28
这是正常的,虽然对于某些数据库引擎,您可能会收到2,但通常是6。在MSSQL中,可以为具有特定设置的autoinc字段指定值。不确定它在mysql中是什么。
发布于 2010-07-25 01:57:16
这是预期的行为。自动增量主键被设计为唯一的,并且不断增加-因此它们不会被再次分配。
如果对表执行TRUNCATE操作,则自动增量值将被重置,而如果使用DELETE查询删除所有行,则自动增量值将保持不变-这是一个微妙但有时很重要的区别。
正如webdestroya建议的那样,重用旧的和已删除的自动增量值的唯一可能是专门在INSERT语句上设置它们。
https://stackoverflow.com/questions/3326170
复制相似问题