gpt4 book ai didi

javascript - 在 Node 中将 UUID 转换为二进制文件

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

我工作的项目切换到 MySQL。我们使用的键是 UUID 字符串(如 43d597d7-2323-325a-90fc-21fa5947b9f3),但数据库字段不是字符串,而是定义为二进制 (16) - 16 字节无符号二进制。

我知道 UUID 基本上是一个 16 字节的二进制数,但我不知道如何将二进制数转换为二进制数。

我正在使用 node-mysql访问数据库,我尝试使用 node-uuid解析 UUID,但这会产生一个整数数组。我也尝试使用 Node's Buffer ,但这只会产生一个缓冲区对象。

如何转换 UUID 字符串以适合该字段?我如何将从该字段读取的值转换为 UUID?

最佳答案

由于时间不够,我将粘贴提供有效结果的评论并稍后修改答案以使其更清楚。


是的,如果您的 JS 应用程序中已有该字符串格式的 UUID 43d597d7-2323-325a-90fc-21fa5947b9f3,您可以向 MySQL 发送以下查询:


从表中选择 col WHERE uuid_col = UNHEX(REPLACE('43d597d7-2323-325a-90fc-21fa5947b9f3', '-', ''));

如果要提取数据并具有可读格式的 UUID,则必须将其转换为十六进制表示法。


从表中选择十六进制(uuid_col);

那个人会给你没有破折号的 UUID。如果您给 node-uuid.parse 方法提供不带破折号的十六进制字符串,它似乎会起作用。

关于javascript - 在 Node 中将 UUID 转换为二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25753505/

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