首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为GUID字符串分配Int32号?

如何为GUID字符串分配Int32号?
EN

Software Engineering用户
提问于 2016-06-03 07:35:59
回答 1查看 334关注 0票数 -1

我们希望为即将到来的新GUID分配一个Int32值,这个GUID在我们的系统中是不存在的。一种解决方案是在Mysql中使用自动增量Id,但对以后的使用不方便。另一种方法是使用哈希函数,将GUID字符串哈希到Int32,但是32位太短,无法避免高哈希冲突。

这个问题还有其他解决办法吗?

EN

回答 1

Software Engineering用户

发布于 2016-06-03 17:25:51

因为您无法将GUID安装到32位数字中,所以您唯一的追索权是查找表。

我建议您在数据库中创建上述查找表,有两列:一列用于GUID,另一列具有自动递增的int32,设置为主键。当您想要一个新的GUID到int32转换时,只需在表中插入一条新记录,将候选GUID分配给GUID列。

从策略上永远不要删除此表中的任何记录可能是个好主意,因为您永远不希望某个GUID更改int32分配。确保索引GUID列,不要重复。

请注意,您可以为此目的选择一个现有表,如果这样做有意义的话(即已经使用GUID作为主键的表)。只需在那里添加自动递增字段即可。

票数 3
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/320174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档