postgresql-9.3 - 如何将mysql枚举转换为postgres
问题描述
CREATE TABLE employees (
id int NOT NULL,
firstname varchar(100) NOT NULL,
lastname varchar(100) NOT NULL,
username varchar(40) NOT NULL,
password varchar(100) NOT NULL,
phone varchar(100) NOT NULL,
address text NOT NULL,
type enum('admin','employee') NOT NULL DEFAULT 'employee'
);
解决方案
您可以使用 DOMAIN CHECK
CREATE DOMAIN field AS TEXT
CHECK VALUE IN ('admin','employee');
Then you declare the table as:
CREATE TABLE employees (
id int NOT NULL,
firstname varchar(100) NOT NULL,
lastname varchar(100) NOT NULL,
username varchar(40) NOT NULL,
password varchar(100) NOT NULL,
phone varchar(100) NOT NULL,
address text NOT NULL,
jobType field
);
推荐阅读
- python - 计算熊猫数据框列和日期时间对象之间的时间差
- ios - 用于许多不同情况的带有枚举和 if 语句的 switch 语句的替代模式
- html - 在 HTML 中表示粗体和斜体的所有方式?
- swiftui - SwiftUI NavigationLink 错误(SwiftUI 在推送导航链接时遇到问题。请提交错误。)
- oracle - 如何从 DataGrip 连接到 Oracle Cloud 中的 Oracle 21c
- openmdao - OpenMDAO:ParallelGroup 的意外行为
- if-statement - 计数是否使用多个选项卡和特定书写
- sql - SQL中带2个小数点的数字的双精度
- python - 我无法安装 pip 模块
- xamarin - MvvmCross 迁移导致 Xamarin Custom iOS View Presenter 问题