Does SQLite store the lastmodified date of a row?
SQLite 는 자체적으로 생성 / 수정 시간을 추적하지 않는다.
CREATE TABLE appInfo (
bundle_id TEXT NOT NULL
PRIMARY KEY,
appname TEXT,
title TEXT DEFAULT appname,
display_image TEXT DEFAULT [default.gif],
full_size_image TEXT DEFAULT [default.gif],
bundle_version TEXT DEFAULT [1.0],
company_id TEXT,
ipaname TEXT,
createdatetime TEXT DEFAULT (strftime('%Y-%m-%d %H:%M:%S:%s', 'now', 'localtime') ),
updatedatetime TEXT DEFAULT (strftime('%Y-%m-%d %H:%M:%S:%s', 'now', 'localtime') )
);
//트리거 생성 필요
CREATE TRIGGER update_appInfo_updatetime
BEFORE UPDATE
ON appInfo
BEGIN
UPDATE appinfo
//string 포맷 사용
SET updatedatetime = strftime('%Y-%m-%d %H:%M:%S:%s', 'now', 'localtime')
WHERE bundle_id = old.bundle_id;
END;
예 2)
CREATE TRIGGER update_seat_updatetime
BEFORE UPDATE
ON seat
BEGIN
UPDATE seat
//datetime 포맷으로 생성
SET modified_date = datetime('now','localtime')
WHERE id = old.id;
END;
SQLite - too many levels of trigger recursion
만약 트랜잭션을 걸고, update 를 여러번 실행하면 다음과 같은 오류가 발생할 수 있다.