Есть ли в SQLite что-то вроде SQL Сервер Столбец версии строки , который будет увеличиваться при каждом изменении строки? По сути, я хочу иметь логические часы для каждой из моих таблиц, которые обновляются при каждом обновлении таблицы. С этими логическими часами мое приложение может хранить версию, которую оно видело в последний раз, и может только повторно извлечь, если данные изменились.
Я мог бы реализовать это с чем-то вроде:
CREATE TRIGGER FOO_VERSION_INSERT_TRIGGER
AFTER INSERT ON FOO FOR EACH ROW
BEGIN
UPDATE CLOCKS
SET VERSION = (
SELECT IFNULL(MAX(VERSION), 0) + 1 FROM CLOCKS
)
WHERE TABLE_NAME = "FOO"
END
CREATE TRIGGER FOO_VERSION_UPDATE_TRIGGER
AFTER UPDATE ON FOO FOR EACH ROW
BEGIN
UPDATE CLOCKS
SET VERSION = (
SELECT IFNULL(MAX(VERSION), 0) + 1 FROM CLOCKS
)
WHERE TABLE_NAME = "FOO"
END
CREATE TRIGGER FOO_VERSION_DELETE_TRIGGER
AFTER INSERT ON FOO FOR EACH ROW
BEGIN
UPDATE CLOCKS
SET VERSION = (
SELECT IFNULL(MAX(VERSION), 0) + 1 FROM CLOCKS
)
WHERE TABLE_NAME = "FOO"
END
Но это похоже на то, что должно уже существовать изначально.