PostgreSQL 枚举类型的使用

PostgreSQL 枚举类型的使用,第1张

概述1. 定义enum: (男、女) postgres=# create type sex as enum('male','female');CREATE TYPE2. 创建表,字段以该枚举类型类型 postgres=# create table person(id serial,name character varying,p_sex sex);CREATE TABLE postgres=#

1. 定义enum: (男、女)

postgres=# create type sex as enum('male','female');CREATE TYPE
2. 创建表,字段以该枚举类型为类型
postgres=# create table person(ID serial,name character varying,p_sex sex);CREATE table
postgres=# \d person               table "public.person"Column |    Type    |           ModifIErs           --------+-------------------+-----------------------------------------------------ID   | integer      | not null default nextval('person_ID_seq'::regclass)name  | character varying |p_sex | sex        |
3. 插入数据
postgres=# insert into person(name,p_sex) values('zhangsan','aa');<span >ERROR:  invalID input value for enum sex: "aa"</span>liNE 1: insert into person(name,'aa');                                                         ^postgres=# insert into person(name,'male');INSERT 0 1
postgres=# select * from person; ID |   name   | p_sex ----+----------+-------  1 | zhangsan | male(1 row)

可以看到,枚举类型的字段在使用不是枚举里面定义的值时候会报错,相当于一个check。

4. 系统表 pg_enum:

我们定义的所有枚举在系统表pg_enum中可以看到,类似实际应用中的‘字段表’。

postgres=# create type people as enum('child','young','old');CREATE TYPE
postgres=# select * from pg_enum ; enumtypID | enumsortorder | enumlabel -----------+---------------+-----------     98345 |             1 | male     98345 |             2 | female     98359 |             1 | child     98359 |             2 | young     98359 |             3 | old(5 rows)
总结

以上是内存溢出为你收集整理的PostgreSQL 枚举类型的使用全部内容,希望文章能够帮你解决PostgreSQL 枚举类型的使用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/1176238.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-02
下一篇2022-06-02

发表评论

登录后才能评论

评论列表(0条)

    保存