sqlite3是否支持触发器自动更新'updated_on'日期时间字段?

sqlite3是否支持触发器自动更新'updated_on'日期时间字段?

问题描述:

我有一个表,看起来像这样sqlite3是否支持触发器自动更新'updated_on'日期时间字段?

user_id | name | created_on | updated_on 
-------------------------------------------------- 
1   | Peter D | 1/1/2009  | 

如果我插入或更新记录,我想一个触发和日期时间更新updated_on场(“现在”)。但我无法找到函数名称来定位sqlite3中最近更新的行。有一个吗?

+0

http://www.sqlite.org/lang_createtrigger.html – 2009-12-26 20:12:00

+0

感谢哈桑,问题是,我不能找到一种方法,从一个触发器内,目标在sqlite3的最后更新的行。我在另一个触发器中使用'last_insert_rowid()'。但是我正在寻找'last_update_rowid()',并且找不到像它这样的东西。 – 2009-12-26 20:22:15

+0

@DougCurrie提供的答案非常好! SQLite文档不是很清楚[创建触发器SQLite](http://www.sqlite.org/lang_createtrigger.html) – Caumons 2012-02-02 09:50:07

CREATE TRIGGER your_table_trig AFTER UPDATE ON your_table 
BEGIN 
    update your_table SET updated_on = datetime('now') WHERE user_id = NEW.user_id; 
END; 
+0

工作就像一个魅力!谢谢。 – 2009-12-27 01:07:47

+0

如果这回答了您的问题,则通过点击回答旁边的复选标记来“接受”答案是习惯性的。 – 2009-12-27 01:40:59