
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=# \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 枚举类型的使用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)