You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

弃用SERIAL改用IDENTITY字段时,是否需将其设为数据库主键?

关于IDENTITY字段是否需要设为主键的问题解答

IDENTITY字段本身不强制要求设为主键,但结合你提到的「需要唯一性+创建索引」的需求,把它设为主键是最省心也最合理的选择,原因如下:

  • 主键约束自带唯一性校验,刚好满足你对字段唯一性的要求,不用额外再单独创建UNIQUE约束
  • 主键会自动生成一个唯一B-tree索引,直接解决了索引需求,省得手动去建
  • 主键是表的唯一行标识,用自增的IDENTITY字段做主键,完全契合大多数业务场景里唯一标记数据行的需求

你给出的示例代码是完全正确的写法:

id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY

当然如果有特殊场景不想把它设为主键,那必须手动给这个IDENTITY字段加UNIQUE约束,同时创建索引——否则既保证不了唯一性,查询效率也会打折扣,但这种情况非常少见。

内容的提问来源于stack exchange,提问作者newexe91

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 02:44:58