在postgres中为没有时区的数据类型时间戳插入语句NOT NULL,

Dou*_*eed 19 postgresql pg

数据库noob警报:我试图插入postgres表.我想要插入的字段被调用make_date.

字段类型是timestamp without time zone NOT NULL,如何在此处插入今天的日期?就像现在的日期和时间?像下面的东西,但我无法获得dateTime.now正确的数据类型插入格式

insert into inventory_tbl (make_date) values (dateTime.now)
Run Code Online (Sandbox Code Playgroud)

C. *_*yer 22

使用now()CURRENT_TIMESTAMP.


Mic*_*ger 21

除了C. Ramseyer的解决方案(这是正确的),如果您总是(或者甚至通常)想要make_date成为创建记录的日期,您可以将其默认设置为now():

alter table inventory_tbl alter make_date set default now();
Run Code Online (Sandbox Code Playgroud)

然后,如果您不将它包含在插入的列列表中,它将自动设置为now():

test=> insert into inventory_tbl ( name ) values ('brick'), ('sand'), ('obsidian') returning *;
         make_date          |   name   
----------------------------+----------
 2013-03-21 09:10:59.897666 | brick
 2013-03-21 09:10:59.897666 | sand
 2013-03-21 09:10:59.897666 | obsidian
(3 rows)

INSERT 0 3
Run Code Online (Sandbox Code Playgroud)