解决达梦数据库新增大字段报错问题

使用达梦数据库穿件新表后往新表中增加TEXT类型字段报错,错误信息如下:

错误号:   -3243

错误消息: 第1 行附近出现错误:
表[TABLE_2]中不能同时包含聚集KEY和大字段

---------------------------------
alter table "GFSTACK"."TABLE_2" add column("COLUMN_2" TEXT);

错误截图:
在这里插入图片描述

如果建表时直接新增一列TEXT字段则没问题,两张表的建表语句如下:

CREATE TABLE "GFSTACK"."TABLE_2"
(
"COLUMN_1" VARCHAR(50) NOT NULL,
CLUSTER PRIMARY KEY("COLUMN_1")) STORAGE(ON "MAIN", CLUSTERBTR) ;


CREATE TABLE "GFSTACK"."TABLE_3"
(
"COLUMN_1" VARCHAR(50) NOT NULL,
"COLUMN_2" TEXT,
NOT CLUSTER PRIMARY KEY("COLUMN_1")) STORAGE(ON "MAIN", CLUSTERBTR) ;

区别在于一个是“CLUSTER PRIMARY KEY”,一个是“NOT CLUSTER PRIMARY KEY”,如果建表时指定“NOT CLUSTER PRIMARY KEY”则可以随时添加大字段

如果是通过DM管理工具(类似于PLSQL)界面建表或者hibernate自动建表,主键是不会指定“CLUSTER”或“NOT CLUSTER”的,直接就是“PRIMARY KEY”,这个时候就需要手动修改达梦数据库配置了

咨询达梦技术交流群,回复修改dm.ini配置文件中的“PK_WITH_CLUSTER”配置为0即可,其实通过DM控制台工具修改一样可以,修改完成后记得重启数据库实例,如果不行,则重启服务器

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值