Oracle 尝试删除数字列时出现ORA-12899值太大错误

Oracle 尝试删除数字列时出现ORA-12899值太大错误,oracle,Oracle,我试图使用以下语句从Oracle中的表中删除一列: ALTER TABLE "MY_TABLE" DROP COLUMN "ENABLED"; 但我得到了这个错误: ORA-12899: value too large for column "MY_TABLE"."ENABLED" (actual: 184, maximum: 22) 该列定义为 "ENABLED" NUMBER(1,0) DEFAULT NULL NOT NULL ENABLE, 并且它在所有行中只有0或1的值 有人能告

我试图使用以下语句从Oracle中的表中删除一列:

ALTER TABLE "MY_TABLE" DROP COLUMN "ENABLED";
但我得到了这个错误:

ORA-12899: value too large for column "MY_TABLE"."ENABLED" (actual: 184, maximum: 22)
该列定义为

"ENABLED" NUMBER(1,0) DEFAULT NULL NOT NULL ENABLE,
并且它在所有行中只有0或1的值


有人能告诉我为什么会出现此错误以及如何删除列吗?

您可能有一些编码不正确的行,您可能需要尝试触发器:

-创建一个表
新的\u我的\u表
,其结构与
我的\u表
相同,但不包含
“ENABLED”

-将一个
插入到新的\u我的\u表(col1,col2…)中,从我的\u表中选择(col1,col2…)

-
将我的表格重命名为我的旧表格

-
将新的\u我的\u表重命名为我的\u表


-
删除我的表\u OLD

您可以尝试先将其设置为未使用,然后删除未使用的列。有关更多信息,请参阅。

有关调试,您可以尝试:从MY_表中选择*,其中启用了not in(0,1)选择not in(0,1)不返回任何行。该列没有限制,只是用作一个简单的标记。请编辑您的问题,并为
my_table
添加完整的
create table
语句。您可能遇到错误17325413?请先尝试将其设置为未使用,然后删除未使用的列。查看更多信息