2009-12-26 4 views
12

는 내가 삽입하거나 레코드를 업데이트하는 경우, 내가 ('지금') 날짜와 updated_on 필드를 업데이트하는 트리거를 싶습니다이sqlite3은 'updated_on'datetime 필드를 자동으로 업데이트하는 트리거를 지원합니까?

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

처럼 보이는 테이블이 있습니다. 하지만 sqlite3 가장 최근에 업데이트 된 행을 대상으로 함수 이름을 찾을 수 없습니다. 하나 있습니까?

+0

http://www.sqlite.org/lang_createtrigger.html –

+0

감사 하산, 문제는 내가, 트리거 내에서, 방법을 찾을 수 없습니다 sqlite3를 마지막으로 업데이트 행을 대상으로한다는 것입니다. 다른 트리거에서 'last_insert_rowid()'를 사용합니다. 하지만 'last_update_rowid()'를 찾고 있는데 뭔가 비슷한 것을 찾을 수 없습니다. –

+0

@DougCurrie가 제공 한 답이 정말 좋습니다! SQLite 설명서가 너무 명확하지 않은 것은 분명한 사실입니다 [Create SQLite SQLite] (http://www.sqlite.org/lang_createtrigger.html) – Caumons

답변

24
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

매력처럼 작동했습니다! 감사. –

+0

귀하의 질문에 답변이있는 경우, 답변 옆에있는 체크 표시를 클릭하여 답변을 "수락"하는 것이 관례입니다. –

관련 문제