Oracle SQL错误消息";ORA-30667:无法对空列上的默认值删除NOTNULL约束;

Oracle SQL错误消息";ORA-30667:无法对空列上的默认值删除NOTNULL约束;,oracle,Oracle,我有一张名为“飞机”的表格,上面有“序列号”、“飞机型号”和“容量”。我想向表中插入数据,但一直收到错误消息 INSERT INTO "T55878"."AIRPLANE" (SERIAL_NO, AIRCRAFT_MODEL, CAPACITY) VALUES ('22768', 'KBH001', '970') ORA-30667:无法对空列上的默认值删除NOTNULL约束 ORA-06512:在第1行 我在各种论坛上读到,清除你的回收站可能是答案,但是当我输入清除回收站的时候;然后运行

我有一张名为“飞机”的表格,上面有“序列号”、“飞机型号”和“容量”。我想向表中插入数据,但一直收到错误消息

INSERT INTO "T55878"."AIRPLANE" (SERIAL_NO, AIRCRAFT_MODEL, CAPACITY) 
VALUES ('22768', 'KBH001', '970')
ORA-30667:无法对空列上的默认值删除NOTNULL约束
ORA-06512:在第1行

我在各种论坛上读到,清除你的回收站可能是答案,但是当我输入清除回收站的时候;然后运行语句,我只得到以下信息:


有人能帮我理解问题是什么,我如何解决它吗。谢谢。

清除应该可以正常工作。你试过在那之后插入吗?Oracle会跟踪您删除的表(以便您可以闪回它们),最终用户recyclebin变满。我尝试在清除回收站后插入数据。仍然收到相同的错误。请发布该表的CREATETABLE语句。另外,请发布准确的数据库版本和补丁级别。这可能是一个新的默认空语法错误(基于一些有限的谷歌搜索),但该语法只在12c中引入,所以想不出在11g中出现这种情况的原因。我的数据库设置是:Oracle database 12c Enterprise Edition 12.1.0.1.0-64位生产PL/SQL 12.1.0.1.0-生产“CORE 12.1.0.1.0 Production”TNS for Linux:Version 12.1.0.1.0-Production NLSRTL Version 12.1.0.1.0-Production和我的创建表是:创建表airplae(序列号id号(5)不为空,飞机型号varchar2(10),容量号(10),约束飞机pk主键(序列号id));