Postgresql 数据库 自增字段,Vastbase 无效的问题
📅 2026/7/8 2:51:00
👁️ 阅读次数
📝 编程学习
本地开发使用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(...) 之类的
此时,可以不修改后端代码,修复当前问题
编程学习
技术分享
实战经验