将时间戳插入到PostgreSQL表中。

5
我想将时间戳插入到“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 中?

2个回答

5

好的,我可以在Oracle中使用CURRENT_TIMESTAMP作为时间戳吗? - Peter Penzov
1
现在()返回“不带时区的时间戳”,请注意,根据其表,“LAST_LOGIN”列的类型为“日期”。 对于这个特定的查询,这不会有太大的影响,但最好使用“current_date”。 - Elad

1
也许错误是因为使用了错误的函数。尝试使用以下内容替代:
UPDATE USERS SET LAST_LOGIN = CURRENT_TIMESTAMP WHERE USER_NAME = ?

@Peter Penzov,即使我的回答更早,也请将sagi的答案设置为已接受,因为它更详细并且引用正确。 - Eduard Uta

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接