我想将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)
;

我尝试了这个:
UPDATE USERS SET LAST_LOGIN = TIMESTAMP WHERE USER_NAME = ?

但是我得到org.postgresql.util.PSQLException: ERROR: column "timestamp" does not exist Position: 31
将当前时间插入表列LAST_LOGIN的正确方法是什么?

最佳答案

TIMESTAMP不是一个已知函数,是POSTGRES,因此,它将其识别为column。
POSTGRES日期/时间函数:

NOW();
current_date;
current_time;
current_timestamp;

因此,您的正确查询应该是
UPDATE USERS SET LAST_LOGIN = now() WHERE USER_NAME = ?

You can read all about postgres time/date functions in this document.

关于sql - 将时间戳插入PostgreSQL表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36261314/

10-16 00:23