在达梦数据库中,默认自增列无法赋值,如果需要对自增列赋值,需要指定列和设置identity_insert参数

以下为对自增列赋值的例子
1.建议一张表 TABLE_1,其中"COLUMN_1"字段为主键,且为自增段。

CREATE TABLE "TEST"."TABLE_1"
(
"COLUMN_1" INT IDENTITY(1, 1) NOT NULL,
"COLUMN_2" CHAR(10),
"COLUMN_3" CHAR(10),
CLUSTER PRIMARY KEY("COLUMN_1")) STORAGE(ON "MAIN", CLUSTERBTR) ;

2.执行一条插入语句,会报自增列插入错误

insert into TEST.TABLE_1 values(1,'a','b');

在这里插入图片描述

3.要完成自增列的插入,开启identify_insert参数,并指定列;
语法为:
set identity_insert 表名 on;
insert into 表名(列名,...,列名)values (值,...,值);

set identity_insert TEST.TABLE_1 on;
insert into TEST.TABLE_1(TABLE_1.COLUMN_1,TABLE_1.COLUMN_2,TABLE_1.COLUMN_3) values(2,'a','b');
insert into TEST.TABLE_1(TABLE_1.COLUMN_1,TABLE_1.COLUMN_2,TABLE_1.COLUMN_3) values(3,'a','b');

执行成功;

4.关闭identify_insert参数

set identity_insert TEST.TABLE_1 off;
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐