2014-08-29 4 views
0

Для моего приложения я разрабатываю средство для синхронизации локальной базы данных SQLite с внешней. Алгоритм, который я имею в виду для этого, зависит от способности читать и писать в базу данных во время транзакции. Это потребует, чтобы база данных, с которой я работаю, всегда будет соответствовать последнему состоянию базы данных, даже до фиксации. Например, у меня есть следующая таблица:Чтение и запись во время транзакции SQLite на Android

id | value 
-------------- 
1 | a 
2 | b 
3 | c 
4 | d 

Я начинаю транзакцию и удаляю вторую строку. Моя база данных должна теперь выглядеть так:

id | value 
-------------- 
1 | a 
3 | c 
4 | d 

Затем я снова запрашиваю базу данных, чтобы получить каждую строку. Он должен выглядеть следующим образом:

id | value 
-------------- 
1 | a 
3 | c 
4 | d 

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

ответ

1

Различные транзакции изолированы друг от друга, но транзакция не изолирована от себя. Другими словами, транзакция всегда видит свои изменения.

+0

Perfect. Спасибо. –

Смежные вопросы