網頁

2022/3/18

PostgreSQL 日期時間欄位新增預設現在時間 datetime field default current time

PostgreSQL新增/插入資料時日期時間型態(e.g. date, time, timestamp)欄位預設使用目前時間的方式如下。


建立資料表時在時間欄位加上DEFAULT CURRENT_TIMESTAMP即可在之後新增資料時自動填入當下時間。

例如下面建立employee資料表把timestamp欄位created_at預設為CURRENT_TIMESTAMP

employee

CREATE TABLE IF NOT EXISTS employee (
   id bigserial PRIMARY KEY,
   name varchar(60) UNIQUE NOT NULL,
   age integer,
   created_at timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL
);

新增一筆資料時不用填入created_at的值。

postgres=> INSERT INTO employee (name, age) VALUES ('john', 33);
INSERT 0 1

查詢新增結果。

postgres=> SELECT * FROM employee WHERE name = 'john';
 id | name | age |         created_at
----+------+-----+----------------------------
  1 | john |  33 | 2022-03-19 12:08:39.986369
(1 row)


沒有留言:

張貼留言