C SQLite Transaction
sqlite3_exec(db, "BEGIN TRANSACTION;", NULL, NULL, NULL);
// if error
sqlite3_exec(db, "ROLLBACK;", NULL, NULL, NULL);
//else
sqlite3_exec(db, "END TRANSACTION;", NULL, NULL, NULL);
如果中間發生錯誤,就單做 ROLLBACK
就好, 不需要再做 END TRANSACTION
,下面 ref 第二篇裡面的邏輯有點問題,做了 ROLLBACK
然後 break
出去之後又做 COMMIT
,怪怪的。
Ref:
comments powered by Disqus