Php MySQL是生成主键而不是使用自动增量的最佳方法

Php MySQL是生成主键而不是使用自动增量的最佳方法,php,mysql,Php,Mysql,在MySQL中为存储记录的最大限制生成主键而不是自动递增的最好方法是什么 如果要存储用户出租车预订记录,那么,如果预订id是主键。在一个示例场景中,希望备份用户最早的记录,但将最近的记录保留到最近3个月。因此,在自动递增键不适合这种情况。因此,任何人都会要求最好的解决方案来生成主键而不自动递增 如何使用PHP代码或其他MySQL函数生成主键您可以使用UUID v4或UUID v5。如果您的PHP版本>=7.2,您可以使用这个库,它为您完成所有的艰苦工作: 8.0版的MySQL还可以生成UUID(

在MySQL中为存储记录的最大限制生成主键而不是自动递增的最好方法是什么

如果要存储用户出租车预订记录,那么,如果预订id是主键。在一个示例场景中,希望备份用户最早的记录,但将最近的记录保留到最近3个月。因此,在自动递增键不适合这种情况。因此,任何人都会要求最好的解决方案来生成主键而不自动递增


如何使用PHP代码或其他MySQL函数生成主键

您可以使用UUID v4或UUID v5。如果您的PHP版本>=7.2,您可以使用这个库,它为您完成所有的艰苦工作:

8.0版的MySQL还可以生成UUID()


顺便说一句,删除记录时仍然可以使用自动增量。MySQL中唯一具有自动增量的gotha是当您从表中删除所有记录,然后重新启动MySQL服务器时,它也将重置自动增量(至少在MySQL 5.x上)。还请记住,您始终可以手动设置自动增量(即在重新启动mysql之后)。

不确定为什么auto inc不合适,当然它将有助于确保每个预订都有一个唯一的编号。没有任何东西阻止您删除旧记录(或存档旧记录)。对于这种情况,您建议使用基于自动增量的tipical解决方案。。最终,为了便于应用程序和服务管理,您需要在others列上建立一些索引。我认为您可能对主键的作用有一些错误的假设。我先读一下关于自动增量重置问题的参考资料~