我想有一个“上次修改”的时间戳(或日期时间?不知道它是否有别于数据表示的区别)记录该记录的最后修改日期/时间条目。Postgresql - 更新规则 - 可能有最后修改日期,自动更新该行“更新”?
显然这是可能的使用触发器。因为我以前没有使用触发器,我想我可以先试的“更新规则”,因为这是新的我太:
什么我已经是这个表记录客户的会话数据:
CREATE TABLE customer_session (
customer_sessionid serial PRIMARY KEY,
savedsearch_contents text,
lastmodified timestamp default now()
); /*
@ lastmodified - should be updated whenever the table is updated for this entry, just for reference.
*/
然后我可以创建一个这样的规则。我不确定语法,或者是否使用NEW或OLD。任何人都可以建议正确的语法?
CREATE RULE customer_session_lastmodified AS
ON UPDATE TO customer_session
DO UPDATE customer_session SET lastmodified = current_timestamp WHERE customer_sessionid = NEW.customer_sessionid
正如你可以看到我想要只更新customer_sessionid的上次更改的条目,所以我不知道如何引用它。更新查询会是这样的:
UPDATE customer_session SET savedsearch_contents = 'abcde'
WHERE customer_sessionid = {unique customer ID}
非常感谢!
2012-01-05
rishijd