【发布时间】:2019-09-04 09:57:57
【问题描述】:
我正在为Patient 表的现有列设置一个标识列。
在这里我想使用 GENERATED ALWAYS AS IDENTITY。
所以我使用以下语句设置身份列(以前是serial):
ALTER TABLE Patient ALTER PatientId
ADD GENERATED ALWAYS AS IDENTITY (START WITH 1);
对于现有的患者表,我总共有 5 条记录。 (patientId 1 到 5)
当我在身份设置后插入新记录时,它会抛出如下错误:
more than one owned sequence found
即使在重置标识列之后,我仍然会收到同样的错误。
ALTER TABLE Patient ALTER COLUMN PatientId RESTART WITH 6;
如果您有任何解决方案,请告诉我。
【问题讨论】:
-
在您更改之前是否将 patientid 定义为
serial? -
yes 之前定义为serial
标签: postgresql identity-column database-sequence