将时间戳插入 PostgreSQL 表

Pet*_*zov 5 sql postgresql

我想将 TIMESTAMP 插入 LAST_LOGIN 列

CREATE TABLE USER(
 ID INTEGER NOT NULL,
 USER_NAME TEXT,
 FIRST_NAME TEXT,
 LAST_NAME TEXT,
 LAST_LOGIN DATE,
 DATE_REGISTERED DATE,
 ROLE INTEGER,
 CAN_LOGIN INTEGER
)
;

ALTER TABLE USER ADD CONSTRAINT KEY1 PRIMARY KEY (ID)
;
Run Code Online (Sandbox Code Playgroud)

我试过这个:

UPDATE USERS SET LAST_LOGIN = TIMESTAMP WHERE USER_NAME = ?
Run Code Online (Sandbox Code Playgroud)

但我得到 org.postgresql.util.PSQLException: ERROR: column "timestamp" does not exist Position: 31

将当前时间插入表列 LAST_LOGIN 的正确方法是什么?

sag*_*agi 5

TIMESTAMP不是已知函数POSTGRES,因此,它将其识别为列。

POSTGRES日期/时间函数:

NOW();
current_date;
current_time;
current_timestamp;
Run Code Online (Sandbox Code Playgroud)

所以你的正确查询应该是

UPDATE USERS SET LAST_LOGIN = now() WHERE USER_NAME = ?
Run Code Online (Sandbox Code Playgroud)

您可以在本文档中阅读有关 postgres 时间/日期函数的所有内容。