建表时可以指定默认值
建表时,为一个字段指定默认值。若已指定默认值的列新插入了一行,但设定了米任职的字段数值没有声明,那么这些字段将被自动填充为它们各自的默认值。
highgo=# create table test (id int default 15,no int);
CREATE TABLE
highgo=# insert into test(no) values (1);
INSERT 0 1
highgo=# insert into test(no) values (2);
INSERT 0 1
highgo=# select * from test;
id | no
----+----
15 | 1
15 | 2
(2 rows)
在使用UPDATE语句时,也可以使用关键字DEFAULT来代表默认值:
highgo=# insert into test values (default);
INSERT 0 1
highgo=# select * from test;
id | no
----+----
15 | 1
15 | 2
15 |
(3 rows)
如果没有声明默认值,那么默认值是NULL。
默认值可以是表达式,它会在插入默认值的时候计算:
highgo=# create table blog (id int,created_date timestamp default now());
CREATE TABLE
highgo=# insert into blog values (1);
INSERT 0 1
highgo=# select * from blog;
id | created_date
----+----------------------------
1 | 2017-06-22 17:28:02.331501
(1 row)