达梦数据库:-2723仅当指定列列表,且SET IDENTITY_INSERT为ON时,才能对自增列赋值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值