MySQL UUID()只重复

不哭 2月前 ⋅ 234 阅读

使用insert into xxx select REPLACE(uuid(),'-',''), * from xx; 提示主键冲突,这个问题怎么解决呢?

复现问题:

-- 执行如下SQL

SELECT REPLACE(uuid(),'-','') FROM tbl_name limit 100;

mysql uuid 重复 结果就是uuid重复。

-- 去掉replace

SELECT uuid() FROM tbl_name limit 100;

mysql uuid 重复

结果不再重复。

结果显而易见,replace搞的鬼。

解决办法

SELECT MD5(uuid()) FROM tbl_com_contact limit 100;

将uuid再一次md5一下就得到32位不带-的uuid了。产生原因尚未翻阅官网暂时无法解释


全部评论: 0

    我有话说: