Nay*_*ani 5 postgresql database-sequence
我想将我现有的列更改为 Postgres 数据库中的自动标识。
我使用下面的脚本来设置自动标识列并设置默认从 1 开始。
但在这里我想将标识列值重置为表的最后一个值。
如果您有任何解决方案,请告诉我。
ALTER TABLE patient
ALTER patientid SET NOT NULL,
ALTER patientid ADD GENERATED ALWAYS AS IDENTITY (START WITH 1);
Run Code Online (Sandbox Code Playgroud)
在这里,我正在设置这样的东西:
ALTER TABLE Patient
ALTER COLUMN PatientId RESTART WITH (select Max(patientId) + 1 from patient);
Run Code Online (Sandbox Code Playgroud)
标识列也由序列支持,pg_get_serial_sequence()并将返回该序列名称。可以与setval().
运行add generated always部件后,您可以使用以下语句调整序列:
SELECT setval(pg_get_serial_sequence('patient', 'patientid'),
(select max(patientid) from patient));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2434 次 |
| 最近记录: |