达梦实现表字段自增,适配达梦时提示非空字段
已知表table1(在模式schema1下,以下代码中省略)
- 1、创建备份表
create table table1_20210807
as select * from table1;
- 2、查询已知最大id
select max(id) from table1t ;
- 3、删除table1
drop table table1;
- 4、重新建表
CREATE TABLE table1
(
"id" INT NOT NULL IDENTITY(943, 1),
"col2" VARCHAR(150) NOT NULL,
"col3" VARCHAR(30)
) STORAGE(ON "MAIN", CLUSTERBTR) ;
备注:此处sql可直接在表尚未删除时,右键-生成sql脚本-Create To-新SQL编辑器-拷贝sql留存-在id字段(自增字段)添加属性IDENTITY(943, 1)
- 5、SET IDENTITY_INSERT 属性为ON: 设置是否允许将显式值插入表的自增列中。
SET IDENTITY_INSERT table1 on;
insert into table1(
"id",
"col2" ,
"col3"
) select * from table1_20210807;
备注:此处切记一定写全列,不能直接insert into table1 select * from table1_20210807
- 6、根据项目代码需要设置为OFF
SET IDENTITY_INSERT table1 OFF;