如果删除MySQL中的行,行是否会向上移动?

时间:2014-06-21 15:20:59

标签: mysql

我似乎无法在互联网上找到任何令人信服的参考资料,这些参考资料会告诉我们,如果某些行在MySQL数据库中删除了行,行是否会向上移动。或者,如果用户从DELETE开始手动执行,然后更新其他行,例如(X-1)其中X是删除的行号。

感谢您是否可以将我推荐给任何主题或文章。

2 个答案:

答案 0 :(得分:1)

你的问题的答案似乎就是这样。关系数据库中的数据(通常)存储在页面上。删除记录时,页面上的空格将被释放,并可用于其他记录。

这进入了理解页面,填充因子等领域。重要的考虑因素是将回收空间,表中记录的顺序可能与插入顺序无关,并且auto_incremented列中允许有间隙。

答案 1 :(得分:0)

简短的回答是否定的。

如果删除其他行,即使将id列设置为AUTO_INCREMENT,行的ID也不会更改。

所以你的表中可能有以下id:删除带有id,6和9的行后的1,2,4,5,7,8,10。