【问题标题】:Cannot create table with enum field in it (Oracle 11g)无法创建包含枚举字段的表(Oracle 11g)
【发布时间】:2021-08-26 08:13:27
【问题描述】:

我正在尝试在 Oracle 11g 中创建一个包含枚举的表

CREATE TABLE role (name ENUM('admin', 'read', 'write', 'manager'));

我收到[42000][907] ORA-00907: missing right parenthesis Position: 28。位置 28 在ENUM( 之间。

列出hereshirts 表的示例也不起作用。

这里有什么我遗漏的吗?

【问题讨论】:

    标签: oracle enums oracle11g


    【解决方案1】:

    您所指的链接适用于 MySQL,而不是 Oracle 数据库。因此,您的语句可能适用于 MySQL 数据库。

    【讨论】:

    • 嗯,当时我的搜索结果有误导性。感谢您注意到这一点。所以 oracle 数据库没有ENUM 关键字?我看到了这个question,但它已经相当老了。
    【解决方案2】:

    做这样的事情:

      CREATE TABLE role (
    
      name varchar(10) check(role in ('admin', 'read', 'write', 'manager')) 
    
      );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多