构建MySQL数据库


Structuring a MySQL database

我已经建立了一个数据库,其中包含以下列标题、ID、POI和文件名。我认为我必须设置一个主键。目前这是ID。然而,客户可能会决定更改其数据库的顺序,例如将ID 20移动到数字2。但是因为它是主键,所以不能复制。我试图添加一个额外的列,我进行了自动递增,然后将ID列作为主键,然而,我被告知自动递增列也应该是主键。因此,如何设置一个允许移动行的数据库?

ID不应更改。曾经它识别数据。

保留自动递增ID作为主键,并使用它来标识记录。

听起来客户要求手动排序/排序值。这是一个独立于标识符的概念,应该是一个单独的列。也许是SortOrder。排序顺序不需要是唯一的,实际上可以是任何整数值。所以简单地说。。。整数列。

对于手动指定的排序顺序适用的用例和业务操作,ORDER BY该列。