Использование триггера SQLite для обновления поля «LastModified»

Это может быть больше вопрос дизайна, но здесь. Я пишу приложение для Android, которое использует локальную базу данных SQLite (с несколькими таблицами), которая время от времени синхронизируется с базой данных MySQL. Я хочу только обновить измененные строки в моей базе данных. Для этого я добавляю столбец «last_modified» к каждой строке, который указывает время, когда эта строка была добавлена/обновлена/заменена и т. д.

Я новичок в операциях с базами данных, но я видел, что Триггер может быть лучшим способом сделать это. У меня есть пара вопросов, касающихся триггеров, SQLite и Android.

Я читал эту ссылку: об обновлении current_timestamp с помощью SQLiteТам в основном говорится, что я использую правильный подход. Мои вопросы таковы:

  1. Куда я должен поместить оператор db.execSQL("CREATE TRIGGER...")? До или после создания таблиц?
  2. Могу ли я использовать один и тот же триггер для каждой таблицы в моей базе данных? т. е. может ли триггер автоматически определить, какая таблица и строка обновляются/вставляются/заменяются/и т. д.и уведомить, чтобы установить поле «last_modified» этой строки, или мне нужно создать отдельный триггер для каждой таблицы?
  3. Поскольку я новичок в операциях с базами данных, не могли бы вы предоставить пример оператора триггера Android, который выполняет описанное выше поведение, или предоставить ресурс для примера?

Или, если триггеры — плохая идея, есть ли альтернатива получше?

Спасибо.

10
задан Community 23 May 2017 в 12:00
поделиться