【问题标题】:Use uppercase letters adding new enum value in postgresql在 postgresql 中使用大写字母添加新的枚举值
【发布时间】:2021-06-23 06:16:16
【问题描述】:

我有一个枚举 datasetId,我想在其中添加另一个值。

但是,这不起作用:

ALTER TYPE datasetId ADD VALUE 'SOME_VALUE'

失败了

sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedObject) type "datasetid" does not exist

我相信这是因为枚举名称中的大写字母。我该如何解决?

【问题讨论】:

    标签: postgresql alembic


    【解决方案1】:

    “我相信这是因为枚举名称中的大写字母。” -- 用特殊字符或在大小写重要的地方用双引号括起标识符:

    ALTER TYPE "datasetId" ADD VALUE 'SOME_VALUE';
    

    或者,推荐的方式是根本不使用带有特殊字符或有意义的大小写的标识符。说到底,他们只是烦人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-26
      相关资源
      最近更新 更多