2013-03-20 38 views
18

數據庫noob警報: 我試圖插入到postgres表中。 我想插入的字段叫make_date在postgres中插入沒有時區的數據類型時間戳語句NOT NULL,

字段類型是timestamp without time zone NOT NULL, 如何在當前日期中插入?就像現在的日期和時間一樣?類似下面的,但我無法得到正確的數據類型插入格式dateTime.now

insert into inventory_tbl (make_date) values (dateTime.now) 
+3

'插入inventory_tbl(make_date)VALUES(NOW());'? – wildplasser 2013-03-20 17:43:19

回答

19

除了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 
20

使用now()CURRENT_TIMESTAMP