我在我的項目中使用Sqlite3Wrapper,我注意到一個奇怪的行爲:我開始事務並逐個執行很多查詢。我面臨的問題是日記在自動提交之前存儲最大1KB的數據。這個過程重複,直到所有的數據保存到數據庫。這是一個正常的行爲?回滾日誌存儲最大1 KB並且自動提交查詢沒有提交transcation可以嗎?
0
A
回答
0
如果你調用BEGIN
,什麼都不會被COMMITED,直到您叫COMMIT
或ROLLBACK
改變數據庫(基本上除了SELECT之外的任何SQL命令)會自動啓動,如果一個交易的任何命令一個還沒有生效。自動啓動的事務在最後一次查詢完成時提交。
事務可以使用BEGIN命令手動啓動。 這樣的事務通常會持續到下一個COMMIT或ROLLBACK命令。
如果您不使用BEGIN
,您將默認以自動提交模式運行。您可以通過sqlite3_get_autocommit
進行檢查。
自動提交模式默認爲打開。自動提交模式由BEGIN語句禁用。通過COMMIT或ROLLBACK重新啓用自動提交模式。
+0
事情是我的db保存程序中只有2個與事務相關的成員函數:CommitTranscation和BeginTransaction。他們都使用db適配器:「m_dataBase-> execDML(」begin transaction「);」。我在他們裏面加入了斷點,但我沒有成功。但是,我可以看到很多交易 - https://embed.gyazo.com/a183859f5e65d6d97c2e289f90cda315.gif –
相關問題
- 1. 我可以在提交後回滾JTA transcation嗎?
- 2. 回滾和提交,只有當沒有自動提交模式
- 3. 沒有自動提交的git合併
- 4. 事務在提交併且連接關閉後可以回滾嗎?
- 5. OracleBulkCopy沒有自動提交
- 6. 是否可以快速提交提交日誌文件?
- 7. 如何合併2日提交的mysql中有1個查詢
- 8. git看提交id的提交日誌
- 9. 您可以手動管理事務提交/回滾嗎?
- 10. 查詢回購提交的文件順序提交日期
- 11. 1回滾本地和遠程git存儲庫提交
- 12. JDBC自動提交和回滾
- 13. begin_nested()是否自動回滾/提交?
- 14. EGit:沒有提交合並
- 15. 自動提交最大值false表
- 16. 如何編輯很久以前在提交日誌之前提交日誌
- 17. 我可以部分播放Cassandra提交日誌嗎?
- 18. 當前事務不能提交,並且不能支持寫入日誌文件的操作。回滾交易?
- 19. jquery表單驗證沒有提交併提交可能?
- 20. 禁用提交日誌安全嗎?
- 21. 有沒有辦法將幾個git提交合併爲一個提交?
- 22. 在github上沒有存儲庫提交?
- 23. Git最佳實踐提交日誌
- 24. 是否可以合併單選按鈕並提交1提交按鈕?
- 25. SVN日誌修改沒有最後提交
- 26. 可以提交/推動github自動化?
- 27. c#連接必須有效並且可以提交事務TransactionScope
- 28. 回到php表單並自動提交
- 29. MSSQL數據庫:日誌沒有清除後提交交易
- 30. 我們可以提交沒有提交按鈕的PDF表單嗎?
「auto commitits」是什麼意思?如果真的有提交,你的顯式提交會失敗。 –