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

问题现象
执行以下语句时报错:


alter table test01 add (c1 nclob default ' ' not null);

错误信息如下:

YAS-02070 table must be empty to add NOT NULL column

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

解决办法
升级至 22.2.7.1 或更高版本

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

影响范围
版本 22.2.6.0 及以下


数据库砖家
1 声望0 粉丝