MySQL 中的uuid()函数返回一个 36 字符的十六进制字符串,格式为:
aa479ea9-1d9d-11ed-ba03-564760fe47b7
ColdFusion 的createUUID()函数返回一个 35 个字符的十六进制字符串,格式如下:
AA479EA9-1D9D-11ED-BA03564760FE47B7
两者都存储相同数量的数据(16 字节),唯一的区别是 MySQL uuid() 函数结果中有一个额外的破折号。
这是我想出的一些 SQL,用于在原始 SQL 中使用 ColdFusion 的格式创建 UUID:
SELECT upper(concat(left(uuid(), 23), right(uuid(), 12)))
这不是一个理想的解决方案,因为我实际上调用uuid()了两次,但对于我的用例来说已经足够了。如果您想尝试优化它,您可能可以使用正则表达式来删除额外的破折号并避免调用 uuid 两次。如果您能想出更好的方法,请随时发表评论。
现在假设您想将 CFML uuid 转换回 MySQL uuid,您可以这样做:
SELECT lower(concat(left(some_id, 23), '-', right(some_id, 12))) FROM table
原文标题:Creating a ColdFusion UUID in MySQL
原文作者: Pete Freitag
原文地址:https://www.petefreitag.com/item/993.cfm
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




