YashanDB|给字段加默认值+非空约束竟然报错?来看原因!

【问题分类】 功能使用 【关键词】 默认值、非空约束、YAS-02070

问题现象

执行以下语句时报错:

代码语言:javascript代码运行次数:0运行复制
alter table test01 add (c1 nclob default ' ' not null);

错误信息如下:

代码语言:javascript代码运行次数:0运行复制
YAS-02070 table must be empty to add NOT NULL column

原因分析

在旧版本中,执行顺序先判断表是否为空,后处理默认值写入逻辑,导致当表中已有数据时无法新增带 NOT NULL DEFAULT 的字段。

解决办法

升级至 22.2.7.1 或更高版本

或先添加字段,再手动更新字段值、添加非空约束

影响范围

版本 22.2.6.0 及以下

发布于 2025-04-18 17:42・广东