Postgres添加身份结果导致ERROR START值0不能小于MINVALUE1

问题描述

试图运行此命令,因为我希望自动生成的ID从0开始

alter table gender
alter column gender_id ADD GENERATED ALWAYS AS IDENTITY (START WITH 0 INCREMENT BY 1)

并出现错误START value (0) cannot be less than MINVALUE (1)

我不擅长Postgresql,所以不确定如何使它从0开始递增。

解决方法

所有“身份”列在后端创建一个序列。在您的身份列中的sequence_option中,您没有提供MINVALUE,因此默认情况下它将MINVALUE视为1。因此,您必须像下面这样明确定义MINVALUE

ALTER TABLE gender
ALTER COLUMN gender_id ADD GENERATED ALWAYS AS IDENTITY (MINVALUE  0 START WITH 0 INCREMENT BY 1)