MySQL的不可猜整数主键

  • 本文关键字:整数 MySQL mysql guid uuid
  • 更新时间 :
  • 英文 :


我正在处理一个数据库,该数据库使用整数作为许多表的主键。我想使主键相对难以猜测—它们不需要非常严格,只要不增加低百位的整数即可。由于我要用现有的数据将其改造为现有的模式,因此更改主键(integer)的数据类型是不可行的。我想知道的是如何最好地生成id。到目前为止,我能想到的选项有:

  1. 使用UUID()生成uid并将其转换为整数
  2. 保持一个单独的表充满随机整数,并使用一个过程从一个事务中的表中选择和删除一个。
  3. 使用UNIX时间戳,加上一个随机的n位数字,例如CONCAT(UNIX_TIMESTAMP(),SUBSTRING(RAND() FROM 3 FOR 6))

我也愿意接受其他建议。

我很感激你能提供的任何想法。

谢谢,罗斯

你为什么这么做?您将弄乱数据的物理存储方式。如果您需要通过url传递查找,请使用二级索引并将其设置为GUID。

相关内容

  • 没有找到相关文章

最新更新