数据库noob警报:
我想插入一个postgres表。
我想插入的字段称为make_date
。
字段类型为timestamp without time zone NOT NULL
,
如何在此处插入今天的日期?就像现在的日期和时间?类似于下面的东西,但我无法获得dateTime.now
insert into inventory_tbl (make_date) values (dateTime.now)
答案 0 :(得分:22)
使用now()
或CURRENT_TIMESTAMP
。
答案 1 :(得分:20)
除了C. Ramseyer的解决方案(正确)之外,如果您总是(或者甚至通常)希望make_date
成为创建记录的日期,您可以将其默认设置为now()
:
alter table inventory_tbl alter make_date set default now();
然后,如果您没有将其包含在插入内容的列表中,则会自动将其设置为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