将枚举类型列添加到表

时间:2016-01-18 20:20:36

标签: oracle sqlplus alter-table

我试图在我现有的表中添加一个新列'结果',这似乎很容易,但我看不出错误。

这是我的代码:

SQL> Alter table results add column CAL ENUM('A','B');


ERROR at line 1: ORA-00904: : invalid identifier

我错过了什么?

我已经从w3java2s读了这个,但是看不出与我的不同。

谢谢,抱歉这个愚蠢的问题。

1 个答案:

答案 0 :(得分:2)

好的,有ORA错误我假设这是一个oracle数据库,而不是mysql。你有两个标签,你链接到MySQL示例,但错误不是MySQL错误。

假设这是一个Oracle数据库,那么就没有本机ENUM数据类型。您必须按如下方式执行此操作:首先 - 使用正确定义的数据类型添加列,然后在该列上创建受约束的允许值列表作为检查约束。

Alter table results add (cal varchar2(1));
Alter table results add constraint chk_cal CHECK (cal in ('A','B')) ENABLE;

(已编辑以修复约束创建行中的括号)