5
回答
数据库实体主键用自增id还是自定义?
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

如果用自增id的话,如果删除后,之后需要转移数据什么,在新数据里就不能对应上了,而自定义的就没有这个问题。

如果是自定义的,那是用什么策略呢?像osc文章的44123这种,是自增长的还是自定义的?

<无标签>
举报
铂金小虫
发帖于4年前 5回/3K+阅
共有5个答案 最后回答: 4年前

数据库主键一般就两种策略,一种是MySQL的自增字段,一种是oracle那样的序列。

据我所知,目前主流数据库,oracle,SQL Server,PostgreSQL都用的序列,当然mysql也可以模拟序列。

应用场景不同,一般自增主键就足够了,没必要想那么多。需要主键需要有明确的含义,那就是序列比较好

自定义id主要是能利用特定的的格式来存储更多信息,后续可以方便使用,不用去拉表。
如果有这种需求的时候就自定义,没有的话自增也是很方便的。

一般来说,程序中的静态的基础的数据用自定义id,而由动态产生的数据用自增id。

--- 共有 3 条评论 ---
铂金小虫回复 @littledoo : 恩,应该是自增的,主要论坛这种流量大,像企业也用的话用户id什么的一般也就1000以内。 4年前 回复
littledoo回复 @铂金小虫 : AnchorAnswer58477我不太清楚,但看字面意思应该是自增的。如果使用自定义id肯定与其含义相关,保证唯一性不难。比如笔记本型号、移动硬盘型号,比如商品条形码,比如身份证号码等。这些都是自定义id 4年前 回复
铂金小虫那像osc的AnchorAnswer584779,后面的数字是自定义的还是自增的?自定义要保证唯一性,uuid可以,但是太长一般也没看到过啊。 4年前 回复
顶部