gpt4 book ai didi

PHP/MySQL : Storing and retrieving UUIDS

转载 作者:可可西里 更新时间:2023-11-01 06:35:26 25 4
gpt4 key购买 nike

我正在尝试将 UUID 添加到几个表中,但我不确定存储/检索这些表的最佳方式是什么。我知道使用 BINARY(16) 而不是 VARCHAR(36) 效率要高得多。在做了一些研究之后,我还发现您可以使用以下方法将 UUID 字符串转换为二进制:

 UNHEX(REPLACE(UUID(),'-',''))

请原谅我的无知,但是有没有一种简单的方法可以使用 PHP 实现这一点,然后在需要时将其转回字符串以提高可读性?

此外,如果我将其用作主键而不是 auto_increment,会有很大不同吗?

编辑:

找到部分答案:

 $bin = pack("h*", str_replace('-', '', $guid));

你会如何解压它?

最佳答案

好的 - 将尝试回答我自己的问题。这是我能想到的最好的办法:

包装:

$binary =  pack("h*", str_replace('-', '', $string));

解压

$string = unpack("h*", $binary);
$string = preg_replace("/([0-9a-f]{8})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{12})/", "$1-$2-$3-$4-$5", $string);

任何人都可以看到这个有什么问题吗?

关于PHP/MySQL : Storing and retrieving UUIDS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2839037/

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