0

我正在通过 PHP 使用 varchar 随机生成的字符串作为我表中的唯一标识符,但是在对这个站点进行研究之后,由于较小的大小,使用自动增量主键字段作为唯一标识符似乎会更好整数速度差加上我不必担心生成随机字符串。

但是,我的朋友警告过这样做,因为如果索引丢失或增量号因任何原因被重置,增量号可能会更改为 0。此外,如果创建数据库的副本,例如。用于测试和使用 COPY SELECT 时,不会创建索引并且会丢失自动增量。

这些担忧有效吗?我应该做出改变吗?:)

编辑 1

我会使用自动增量字段作为主键,并将其用作其他表中的外键,所以我担心如果由于某种原因主表中的自动增量主键发生更改,那么其他表中的外键将变为无效

4

1 回答 1

1

只需做出改变。

  • auto_increment必须是主键。这意味着不允许重复值。通常你应该使用int unsigned not null auto_increment primary key定义。不需要负数。
  • 这是一个透明的标识符,所以在任何地方都不应该引用它的实际值。参考实际值进行维护可能很方便,但如果将数据复制到新数据库,则不必担心值的变化。只要该列不存在,您就可以将该列的值设置为您想要的任何值。 INSERT
于 2013-11-13T14:20:41.810 回答