我正在创建一个网页。该网页根据用户的操作将数据存储到 MySQL 数据库中。数据库有很多行。行的主键是列rowID,它只是按顺序对行进行编号(例如1、2、3、4....)。用户可以选择删除行。问题是当用户删除最后一行以外的行时。rowID 中有一个跳过。例如,如果有 5 行, 1, 2, 3, 4 ,5 并且用户删除了第三行。现在 rowID 列中的数据是 1、2、4、5。我想知道 MySQL 或 PHP 中是否已经有一个内置函数来有效地解决这个问题。
我知道摆脱这种情况的唯一方法是循环遍历行并基本上刷新 rowID。但是,如果有大量行,我觉得这在时间方面会非常昂贵。
我还想知道如何在创建新行时自动增加 rowID。目前我有代码来查找当前最大的 rowNumber 并插入具有当前最大 rowNumber+1 的行。