【DM版本】:8
需求是把主键的id从number(10,0)变成number(19,0),类似mysql中主键扩容,从int变成bigint的操作,有什么办法吗?
ALTER TABLE "MASTER"."ent_zidonghuaceshiqiyeba_role_category" MODIFY "id" number(19,0) NOT NULL;
执行失败(语句1)
-2664: 第1 行附近出现错误:
试图修改自增列[id]
没办法,我只能改表名、新建表、复制旧表数据到新表、删旧表;这样的步骤来解决这个问题,int和bigint都是数字类型,我不知道为什么不能直接变更类型……
ALTER TABLE "MASTER"."ent_chuangjian1_role_category" DROP IDENTITY;
alter table "MASTER"."ent_chuangjian1_role_category" modify "id" BIGINT;
alter table "MASTER"."ent_chuangjian1_role_category" add column "id" identity(1, 1);
这样的三句,可以执行了,我昨天好傻,还在那边删表建表的……
有个技巧,达梦的工具点修改,可以在DDL界面看到工具里的操作执行了什么sql,我就是这样发现这几个语句的
自增列 只支持int/bigint类型