如何在 PostgreSQL 数据库中创建具有一列枚举数据类型的表?
表名: Employee
列:
ID: Integer
Name: ENUM
Run Code Online (Sandbox Code Playgroud)
以下是查询,但不确定它是否正确。
CREATE TYPE Name AS ENUM();
CREATE TABLE IF NOT EXISTS Employee(
ID integer NOT NULL,
Name DEFAULT NULL,
CONSTRAINT "Employee_pkey" PRIMARY KEY (id)
);
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
S-M*_*Man 10
1.在行中
Name DEFAULT NULL,
Run Code Online (Sandbox Code Playgroud)
您要么忘记了列的名称,要么将列定义为枚举类型:
myname Name DEFAULT NULL, -- add column name
Run Code Online (Sandbox Code Playgroud)
或者
Name Name DEFAULT NULL, -- add enum type
Run Code Online (Sandbox Code Playgroud)
CREATE TYPE name_type AS ENUM('name1', 'name2');
Run Code Online (Sandbox Code Playgroud)
CREATE TYPE name_type AS ENUM('name1', 'name2');
CREATE TABLE Employee2(
ID integer,
myname name_type
);
Run Code Online (Sandbox Code Playgroud)
小智 6
这里有一个简单的示例,考虑向 Employee 表的枚举列添加一个名称,并向枚举添加一些值。
CREATE TYPE NameEnum AS ENUM('Jony','Bala','Mark');
CREATE TABLE IF NOT EXISTS Employee(
ID integer NOT NULL,
name NameEnum DEFAULT NULL,
CONSTRAINT "Employee_pkey" PRIMARY KEY (id)
);
Insert into Employee(ID,name)
Values(1, (SELECT enum_first(NULL::NameEnum)))
Select * from Employee
Output:
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17899 次 |
| 最近记录: |