gpt4 book ai didi

MySQL UUID() 何时不唯一?

转载 作者:行者123 更新时间:2023-11-29 01:14:23 27 4
gpt4 key购买 nike

当 MySQL 生成的 UUID() 不唯一时会发生什么?如果这是针对作为主键的列,MySQL 会出错,还是会尝试生成另一个 UUID 直到找到真正唯一的 UUID?

最佳答案

好吧,如果您两次调用 UUID() 并得到相同的结果,那么最有问题的事情就是“东西坏了”(tm)。据我所知,它应该是独一无二的,而且应该始终如此。

不会有可用的“重新生成”代码:该函数旨在创建甚至跨计算机的唯一 key ,所以它怎么可能知道它的结果不是唯一的?

来自 http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_uuid

A UUID is designed as a number that is globally unique in space and time. Two calls to UUID() are expected to generate two different values, even if these calls are performed on two separate computers that are not connected to each other.

也许你还有别的意思?例如,如果您使用 UUID() 生成一些应该唯一的东西(如主键或唯一字段等),并且您之前添加了相同的数字(例如您调用UUID() 一次,但插入了两次),然后您将得到在将非唯一内容添加到本应唯一的地方时出现的默认错误。你不会得到一个新的。

some reading material about the uniqueness:

  1. 手册。阅读它,了解它如何使用各个部分生成 uuid。:http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_uuid

  2. 查看该手册上的链接以了解实际定义(但这是一篇读物,因此您可以跳过这一篇):https://www2.opengroup.org/ogsys/jsp/publications/PublicationDetails.jsp?catalogno=c706

  3. 这里有一些更容易理解的重复概率指标:http://en.wikipedia.org/wiki/Universally_unique_identifier

  4. 在 mysql 网站(论坛等)上也有一些关于将其用作主键的讨论,但由于我在工作并且时间不多,您需要自己搜索 :)

关于MySQL UUID() 何时不唯一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9679860/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com