首页 > 数据库技术 > 详细

PostgreSQL缺省值

时间:2016-06-12 12:05:23      阅读:211      评论:0      收藏:0      [点我收藏+]

一个字段可以赋予缺省值。如果新创建了一个数据行,而有些字段的数值没有声明,那么这些字段将被填充为它们各自的缺省值。一条数据修改命令也可以明确地要求把一个字段设置为它的缺省值,而不用事先知道这个缺省值是什么。

如果没有明确声明缺省值,那么缺省值是 NULL 。这么做通常是合理的,因为 NULL 表示"未知"。

在一个表定义里,缺省值是在字段数据类型后面列出的。比如:

CREATE TABLE products (
    product_no integer,
    name text,
    price numeric DEFAULT 9.99
);

缺省值可以是一个表达式,它会在插入缺省值的时候计算(不是在创建表的时候)。一个常见的例子是一个timestamp字段可能有缺省值CURRENT_TIMESTAMP,它表示插入行的时刻。另外一个常见的例子是为每一行生成一个"序列号"。在PostgreSQL里,通常是用类似下面这样的方法生成的:

CREATE TABLE products (
    product_no integer DEFAULT nextval(‘products_product_no_seq‘),
    ...
);

这里的nextval()从一个序列对象提供后继的数值。这种做法非常普遍,以至于我们有一个专门的缩写用于此目的:

CREATE TABLE products (
    product_no SERIAL,
    ...
);

PostgreSQL缺省值

原文:http://www.cnblogs.com/wolaiye320/p/5577095.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!