我想将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的正确方法是什么?
答案 0 :(得分:4)
TIMESTAMP
不是已知函数POSTGRES
,因此,它将其识别为列。
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.
答案 1 :(得分:1)
可能错误来自使用错误的功能。试试这个:
UPDATE USERS SET LAST_LOGIN = CURRENT_TIMESTAMP WHERE USER_NAME = ?