我试图运行这个,因为我希望自动生成的ID从0开始
alter table gender
alter column gender_id ADD GENERATED ALWAYS AS IDENTITY (START WITH 0 INCREMENT BY 1)
出现错误:
起始值 (0) 不能小于最小值 (1)
由于我对PostgreSQL还不熟悉,所以不确定如何使其从0开始自增。
我试图运行这个,因为我希望自动生成的ID从0开始
alter table gender
alter column gender_id ADD GENERATED ALWAYS AS IDENTITY (START WITH 0 INCREMENT BY 1)
出现错误:
起始值 (0) 不能小于最小值 (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)
ALTER SEQUENCE gender_gender_id_seq RESTART WITH 0 INCREMENT BY 1;
- 不过还不太对。 - PositiveGuygender_gender_id_seq
存在,它将执行所需的操作。 - Akhilesh Mishra