我想有一個「上次修改」的時間戳(或日期時間?不知道它是否有別於數據表示的區別)記錄該記錄的最後修改日期/時間條目。Postgresql - 更新規則 - 可能有最後修改日期,自動更新該行「更新」?
顯然這是可能的使用觸發器。因爲我以前沒有使用觸發器,我想我可以先試的「更新規則」,因爲這是新的我太:
http://www.postgresql.org/docs/8.3/static/rules-update.html
什麼我已經是這個表記錄客戶的會話數據:
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}
非常感謝!