【问题标题】:How to generate sequential GUIDs?如何生成顺序 GUID?
【发布时间】:2009-12-30 11:06:52
【问题描述】:

是否有 PHP 库可以生成用于 MySQL 数据库的顺序 GUID?

【问题讨论】:

  • MySQL 的自动增量功能不适合您的需求吗?
  • GUID 不应该有一个有意义的顺序 - 为什么它们需要是连续的?
  • 顺序 GUID 在用作主键时可能会表现得更好。至少这是我所听到的(我可以想象这是真的)。​​
  • @Romain Muller:当然这更简单,但是自动递增密钥也有一些缺点,例如跨数据库合并、安全性(访问者或垃圾邮件机器人遍历您的 id 并获取每个用户,您可能不想要那个)等。
  • 这是为什么呢?你在哪里读过它(事实上,它根本没有意义)?

标签: php mysql guid


【解决方案1】:

如果您指的是基于公共前缀(例如 MAC 和时间)的 uuid,请查看 uniqid。在这里,您还可以找到符合 RFC 4211 的 UUIDS 的一些代码。如果您想安全起见,请将此包装器用于 libuuid:pecl uuid。不过还没有测试过,YMMV。

【讨论】:

    【解决方案2】:

    我相信人们要求的是,MySQL 是否像 SQL Server 那样支持 Sequential Id?

    http://blogs.msdn.com/b/sqlserverfaq/archive/2010/05/27/guid-vs-int-debate.aspx

    现在,在每个人都问为什么要使用 GUIDS 之前,GUIDS 将允许人们在表和数据库之间移动/合并数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-13
      • 1970-01-01
      • 2010-12-25
      • 2017-07-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多