天天看点

HGDB(pg)建表时指定默认值

建表时可以指定默认值

建表时,为一个字段指定默认值。若已指定默认值的列新插入了一行,但设定了米任职的字段数值没有声明,那么这些字段将被自动填充为它们各自的默认值。

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)

继续阅读