构建 MySQL 数据库
Structuring a MySQL database
我已经建立了一个数据库,其中包含以下列标题、ID、POI、文件名。
我相信我必须设置一个主键。目前是ID。但是,客户可能会决定更改其数据库的顺序,例如将 ID 20 移至编号 2。但由于它是主键,因此无法复制。
我试图添加一个额外的列,我做了自动递增,然后将 ID 列设为主键,但是,我被告知自动递增列也应该是主键。
因此,如何设置允许行移动的数据库?
ID 不应更改。曾经。它识别数据。
将自增ID作为主键,用于标识记录
听起来客户要求的是手动 ordering/sorting 值。这是一个与标识符不同的概念,应该是一个单独的列。也许是 SortOrder
之类的东西。排序顺序 不需要 是唯一的,实际上可以是任何整数值。所以简单地让它成为...一个整数列。
对于手动指定的排序顺序适用的用例和业务操作,ORDER BY
该列。
我已经建立了一个数据库,其中包含以下列标题、ID、POI、文件名。 我相信我必须设置一个主键。目前是ID。但是,客户可能会决定更改其数据库的顺序,例如将 ID 20 移至编号 2。但由于它是主键,因此无法复制。 我试图添加一个额外的列,我做了自动递增,然后将 ID 列设为主键,但是,我被告知自动递增列也应该是主键。 因此,如何设置允许行移动的数据库?
ID 不应更改。曾经。它识别数据。
将自增ID作为主键,用于标识记录
听起来客户要求的是手动 ordering/sorting 值。这是一个与标识符不同的概念,应该是一个单独的列。也许是 SortOrder
之类的东西。排序顺序 不需要 是唯一的,实际上可以是任何整数值。所以简单地让它成为...一个整数列。
对于手动指定的排序顺序适用的用例和业务操作,ORDER BY
该列。