将枚举类型列添加到 table

Add enum type column to table

我正在尝试向我现有的 table 'Results' 添加一个新列,这似乎很容易,但我看不出错误。

这是我的代码:

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


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

我错过了什么?

我从 w3 and this from java2s 那里读到这篇文章,但看不出与我的有什么不同。

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

好的,有一个 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;

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