Warm tip: This article is reproduced from serverfault.com, please click

duplicates-MySql UUID复制错误

(duplicates - MySql UUID duplication BUG)

发布于 2012-03-17 13:56:58

我在MySql 5.5.19中发现了一个错误。

执行时:

select uuid(), uuid();

你将获得两个等于id的ID。

当我在表中插入两个uuid时,我遇到了两个bug,我总是得到相同的值。

还有其他人在此错误中运行两个吗?如何执行需要两个uuid作为键的插入命令?

编辑

其实我错了,它们的个位数不同,所以很难看到

c3db913 7 -705e-11e1-ae17-1c6f6531b785
c3db913 f -705e-11e1-ae17-1c6f6531b785

Questioner
Ilya Gazman
Viewed
11
Michael Berkowski 2012-03-17 22:01:46

根据文档 ,UUID被设计为一个在空间和时间上全球唯一的数字。 由于查询是在执行之前进行编译的,因此你将UUID()在同一时间调用两次。因此,你不能期望它在同一查询中返回两个唯一值,因为两个值都将使用相同的时间戳。这听起来像我的预期行为。