Postgresql 数据库 自增字段,Vastbase 无效的问题

📅 2026/7/8 2:51:00 👁️ 阅读次数 📝 编程学习
Postgresql 数据库 自增字段,Vastbase 无效的问题

本地开发使用Postgresql 数据库,设置字段 SortId 为整型,Type 为IENTITY, BY DEFAULT,

通过EF Core插入数据时,本地测试通过,在vastbase数据库中报错, SortId为空的问题。

通过检索发现,是vastbase 数据库与postgresql 处理自增逻辑不同,(应该是vastbase 用的数据库太老吧)

AI建议 不要再使用 Identity。

直接改成 Sequence

通过如下脚本实现:

CREATE SEQUENCE "PictureMarker_SortId_seq"; ALTER TABLE "PictureMarker" ALTER COLUMN "SortId" SET DEFAULT nextval('"PictureMarker_SortId_seq"');

再执行

SELECT setval( '"PictureMarker_SortId_seq"', COALESCE((SELECT MAX("SortId") FROM "PictureMarker"),0) );

验证:

SELECT column_default FROM information_schema.columns WHERE table_name='PictureMarker' AND column_name='SortId';

应输出

nextval(...) 之类的

此时,可以不修改后端代码,修复当前问题