小编Rob*_*sig的帖子

通过“using”子句的重要用法来改变列类型

假设我们有一个名为“mytable”的表:

名称 [varchar] 饮食习惯 [int]
安娜 1
罗兰 3
塞普 1
凯特琳 2
卢卡斯 4
海德薇 3

现在我意识到我想将“eating_habits”列更改为具体的。我创建自己的枚举类型:

CREATE TYPE diet AS ENUM ('vegetarian', 'vegan', 'omni');
Run Code Online (Sandbox Code Playgroud)

我想要的是将“eating_habits”列的类型更改为“饮食”。为此,我还想在这样的类型之间进行映射

1 --> 'vegan'
2 --> 'vegetarian'
rest --> 'omni'
Run Code Online (Sandbox Code Playgroud)

我该怎么办呢?我知道可以像这样使用 USING 子句:

ALTER TABLE mytable
  ALTER COLUMN eating_habits TYPE diet
  USING (
    <Expression>
  )
Run Code Online (Sandbox Code Playgroud)

但我不知道“表达”应该是什么,而且网上的绝大多数例子都是琐碎的转换。

postgresql using alter-table

2
推荐指数
1
解决办法
952
查看次数

标签 统计

alter-table ×1

postgresql ×1

using ×1