首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成唯一ID

生成唯一ID
EN

Stack Overflow用户
提问于 2011-01-19 22:16:40
回答 2查看 648关注 0票数 3

我正在研究生成唯一ID的函数-我的特定要求是唯一ID只需要8位数字。

无论如何,我刚刚意识到我们可以设置一个ID自动递增字段来从任何数字开始。那么假设我从11111111开始-我认为所有的新记录都会从这个值开始递增,对吗?如果是这样,那么我有我唯一的8位ID,不需要为此使用函数。

另外,如果删除了一条记录,那么新记录是否会重用该删除的ID?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-19 22:19:11

1)自动增量-值不会被重用

2)可以,通过将自动递增计数器设置为8位数字(例如10000000),您可以实现这一点!(表选项"AUTO_INCREMENT = N")

票数 4
EN

Stack Overflow用户

发布于 2011-01-19 22:18:17

这是正确的。如果自动编号列从11111111开始,则下一行的编号将为11111112。

删除记录时,不会重复使用其自动编号。

编辑:关于最大值的,它取决于您选择的列类型。从MySQL文档中:

对于AUTO_INCREMENT列,

使用足够大的整数数据类型来保存所需的最大序列值。当该列达到数据类型的上限时,下一次生成序列号的尝试将失败。例如,如果使用TINYINT,则允许的最大序列号为127。对于TINYINT UNSIGNED,最大值为255。

你可以使用一个整数,然后到4294967295,或者使用BIGINT,然后到18446744073709551615。请参阅http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html

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

https://stackoverflow.com/questions/4736241

复制
相关文章

相似问题

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