Postgresql 如何更改postgres中的列类型
我有一列是“枚举类型”。我使用查询:Postgresql 如何更改postgres中的列类型,postgresql,Postgresql,我有一列是“枚举类型”。我使用查询: ALTER TABLE subscriptions ALTER COLUMN subscribable_type TYPE enum('User', 'Organization'); 将类型从字符串更改为枚举。但它不起作用并失败: [42704]错误:类型“enum”不存在 您必须分两步进行: CREATE TYPE sub_type AS ENUM ('User', 'Organization'); ALTER TABLE subscriptio
ALTER TABLE subscriptions
ALTER COLUMN subscribable_type TYPE enum('User', 'Organization');
将类型从字符串更改为枚举。但它不起作用并失败:
[42704]错误:类型“enum”不存在
您必须分两步进行:
CREATE TYPE sub_type
AS ENUM ('User', 'Organization');
ALTER TABLE subscriptions
ALTER subscribable_type TYPE sub_type USING subscribable_type::sub_type;
您必须分两步进行:
CREATE TYPE sub_type
AS ENUM ('User', 'Organization');
ALTER TABLE subscriptions
ALTER subscribable_type TYPE sub_type USING subscribable_type::sub_type;
您不应该首先使用枚举。使用带有外键的适当查找表。如果您只想限制允许的值,请改用检查约束。您可以像这样使用它:创建类型订阅\u类型作为枚举('User','Organization');ALTER TABLE subscription使用SUBSCRIPABLE\U type::subscription\U type更改列SUBSCRIPABLE\U type subscription\U type;您不应该首先使用枚举。使用带有外键的适当查找表。如果您只想限制允许的值,请改用检查约束。您可以像这样使用它:创建类型订阅\u类型作为枚举('User','Organization');ALTER TABLE subscription使用SUBSCRIPABLE\U type::subscription\U type更改列SUBSCRIPABLE\U type subscription\U type;太好了!谢谢太好了!谢谢D