SQLite специально разработан для защиты от этого С официальной SQLite является транзакционной страница:
Все изменения в пределах одного
транзакция в SQLite либо происходит
полностью или не совсем, даже если
акт написания изменений в
диск прерван
- сбой программы,
- сбой операционной системы или
- сбой питания.
Требование предыдущего абзаца
тщательно проверено в SQLite
набор регрессионных тестов с использованием специального
испытательный жгут, который имитирует
эффекты на файл базы данных
сбой операционной системы и питания
неудачи.
Возможно, вас также заинтересует статья SQLite Атомная фиксация в SQLite , если вам необходимо узнать конкретные подробности о том, как они защищают от сбоев, например, выше.
Относительно записи после сбоя: (от
Блокировка файлов и параллелизм )
Горячий журнал создается, когда процесс находится в середине обновления базы данных, и сбой программы или операционной системы или сбой питания препятствуют завершению обновления. Горячие журналы являются исключением. Горячие журналы существуют для восстановления после сбоев и сбоев питания. Если все работает правильно (то есть, если нет сбоев или сбоев питания), вы никогда не получите горячий журнал.
Худшее, что может произойти, это то, что вам нужно удалить горячий журнал, оставшийся после сбоя.