36

Database noob alert: I am trying to insert into a postgres table. The field that I would like to insert in is called make_date.

The field type is timestamp without time zone NOT NULL, How do I insert today's date in there? Like right now's date and time? Something like the below but I am unable to get the right datatype insert format for dateTime.now

insert into inventory_tbl (make_date) values (dateTime.now)
1
  • 4
    insert into inventory_tbl (make_date) VALUES (now()); ? Commented Mar 20, 2013 at 17:43

2 Answers 2

40

Use now() or CURRENT_TIMESTAMP.

Sign up to request clarification or add additional context in comments.

Comments

25

In addition to C. Ramseyer's solution (which is right), if you always (or even usually) want make_date to be the date the record was created, you can set its default to now():

alter table inventory_tbl alter make_date set default now();

Then if you don't include it in the list of columns in your insert, it'll be automatically set to 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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.