В Sqlite3 есть способ откат к точке после совершения транзакции? Если вам интересно, почему я совершаю утверждение, если не уверен, причина в том, что я использую Sqlite изнутри интерфейса C++, который сохраняет только файл, если я совершаю транзакцию.Sqlite rollback after commit
1
A
ответ
2
Сделайте копию базы данных до совершения транзакции. Чтобы сделать копию, я предлагаю использовать семейство функций sqlite3_backup_*()
, так как они гарантируют, что операция будет атомарной.
Если у вас есть большая база данных, и вы хотите сделать это только с 1 таблицей (этот сложный «откат»), тогда вы должны хранить таблицу в отдельной базе данных и ATTACH
при ее использовании, поэтому вы можете делать резервную копию только базы данных с одной таблицей.
Смежные вопросы
- 1. Сделка: commit() vs rollBack()
- 2. SharedPreferences commit and rollback
- 3. JDBC RollBack After Connection Закрыть
- 4. savepoint commit rollback в mysql
- 5. Commit and rollback Операции Oracle
- 6. Требуется ли SessionAwareMessageListener commit()/rollback()?
- 7. GIT un-rollback a commit
- 8. Commit And Rollback in C#
- 9. git workflow after commit
- 10. Git pull after commit
- 11. Базовая производительность DB2 COMMIT/ROLLBACK VS ROLLBACK TO SAVEPOINT
- 12. insert rollback after catch exception postgres
- 13. egit commit lost after checkout
- 14. BeginTran(), Commit() и Rollback() в шаблоне репозитория
- 15. Как работает mysqli :: commit & mysqli :: rollback?
- 16. Могу ли я использовать rollBack() перед commit()?
- 17. Усиливает ли время COMMIT и ROLLBACK производительность?
- 18. Rollback pm2 deploy to specific commit
- 19. Java: commit vs rollback vs ничего, когда семантика не изменяется?
- 20. sqlite iOS Commit Failure
- 21. Sqlite: соответствующее использование commit
- 22. SQLite Transaction not commit
- 23. Управляемый блок Django Transaction завершен в ожидании COMMIT/ROLLBACK
- 24. Операции транзакции Rollback SQLite в случае отказа
- 25. SQLite Database Hangs After Update
- 26. JMS транзакционная сессия: Commit/rollback для конкретного сообщения
- 27. Commit and Rollback не работает в MyISAM Mysql
- 28. сохранить PDO Commit или Rollback активным в нескольких сценариях
- 29. SQL Rollback a Commit из нескольких хранимых вводов процедур
- 30. Почему невозможно использовать Commit и rollback в процедуре PostgreSQL?
Нет, нет. И, конечно же, это экономит только при совершении транзакции; совершение является актом сохранения данных, которые вы только что написали. –
Спасибо @ColonelThirtyTwo. Как вы могли догадаться, моя цель - проверить мою базу данных в другом коде. Итак, рабочий процесс: (i) Обновление db. (ii) Протестируйте его в другой среде. (iii) Отменить, если не прошло. В этой связи я считаю, что лучшим решением является дублирование файла db до его изменения и использования для замены обновленного, если он не прошел тест. Идея лучше? – emre
Вы можете использовать вложенные транзакции с 'SAVEPOINT' и' RELEASE' (http://sqlite.org/lang_savepoint.html). – Googie