如何将文本更改为枚举类型?

How do I change a text to an enum type?

所以基本上我想导入一个 csv 文件,其中一列中有数据 yes/no,我创建了一个枚举值 'red' 和 'white' 和yes 与枚举中的 'red' 相关,no 与枚举中的 'white' 相关,数据库中 table 中的列属于我创建的枚举类型。因此,我必须在 table 中将 yes 更改为 'red',将 no 更改为 'white'。关于这个问题,我什至不知道在 google 上搜索什么。

您可以使用虚拟列。这使数据类型存储为布尔值并使用最小存储空间 space.
如果愿意,您可以创建一个 VARCHAR(5) 列并在导入后使用更新填充它。

create table enums(
importedBoolean boolean not null,
enumColor varchar(5) 
GENERATED ALWAYS AS 
(case when importedBoolean  then 'red'
  else 'white' end) STORED
);
insert into enums values(True),(False);

2 行受影响

select * from enums;
importedboolean | enumcolor
:-------------- | :--------
t               | red      
f               | white    

db<>fiddle here