2017-08-08 66 views
1

我是想增加价值,我用这个查询枚举:PostgreSQL枚举时空

ALTER TYPE enum_missions_status ADD VALUE 'COMPLETED' 

与我的主表是广告获得成功,但是当我尝试此查询:

ALTER TYPE enum_historisationMissions_status ADD VALUE 'COMPLETED' 

我tempory表:https://wiki.postgresql.org/wiki/SQL2011Temporal

我有这个错误消息:

Unhandled rejection SequelizeBaseError: type "enum_historisationmissions_status" does not exist 

他将我的M修改为m。

磨片我尝试:

ALTER TYPE "enum_historisationMissions_status" ADD VALUE 'COMPLETED' 

我有这样的错误:

Unhandled rejection SequelizeBaseError: type "enum_historisationmissions_status" does not exist 

如何添加枚举态表?

回答

1

通常,SQL不区分大小写。因此,enum_historisationMissions_statusenum_historisationmissions_status表示相同的对象。为了避免这种行为,你可以包含双折的名字,例如"enum_historisationMissions_status"命名带有较低和较高字符的对象。

+1

要添加到此。 SQL标准规定未加引号的标识符会折叠为大写。由于可读性和历史先例,PostgreSQL折叠为小写。这两种行为在功能上非常相似。如果您通过引用不同的SQL兼容数据库创建了一个对象:“MyTable”然后通过调用MyTable引用MYTABLE(或pgsql mytable)引用它,并且它不匹配。 一般要么报价一切或没有,你不会有这个问题在任何数据库。 –