首页 > 解决方案 > 如何将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'
);

标签: postgresql-9.3

解决方案


您可以使用 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
);

推荐阅读