在达梦数据库中,默认自增列无法赋值,如果需要对自增列赋值,需要指定列和设置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;