这是将UUID()生成的MySQL GUID / UUID转换为二进制文件(16)的最佳方法:
UNHEX(REPLACE(UUID(),'-',''))
然后将其存储在BINARY(16)中
我应该知道以这种方式进行操作有什么影响?
含义不多。它会稍微减慢查询速度,但是您几乎不会注意到它。
UNIQUEIDENTIFIER``16-byte binary无论如何都存储为内部。
UNIQUEIDENTIFIER``16-byte binary
如果要将二进制文件加载到客户端中并在客户端进行解析,请注意bit order,它可能具有除initial之外的其他字符串表示形式NEWID()。
bit order
NEWID()
Oracle的SYS_GUID()函数容易出现此问题,将其转换为字符串会在客户端和服务器上产生不同的结果。
Oracle
SYS_GUID()