构建MySQL数据库

时间:2015-06-30 12:59:44

标签: php mysql mamp

我已经设置了一个包含以下列标题的数据库,ID,POI,filename。 我相信我必须设置一个主键。目前是ID。但是,客户可能决定更改其数据库的顺序,例如将ID 20移动到数字2.但由于它是主键,因此无法复制。 我试图添加一个额外的列,我做了自动增量,然后使ID列成为主键,但是,我被告知自动增量列也应该是主键。 因此,如何设置一个允许行移动的数据库?

1 个答案:

答案 0 :(得分:3)

ID 不应该改变。永远。它标识数据。

将自动增量ID保留为主键,并使用它来识别记录。

听起来客户要求手动订购/分拣价值。这是一个与标识符不同的概念,应该是一个单独的列。或许像SortOrder这样的东西。排序顺序不需要 是唯一的,并且实际上可以是任何整数值。所以简单地说就是......一个整数列。

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