现在的位置: 首页 > 综合 > 正文

【数据库】SQLITE3 使用总结5

2012年08月18日 ⁄ 综合 ⁄ 共 579字 ⁄ 字号 评论关闭

(4) 事务处理

sqlite 是支持事务处理的。如果你知道你要同步删除很多数据,不仿把它们做成一个统一的事务。# p4 T' j   s+ ~$ K: r

1 n4 K: `' f* u: u! t通常一次 sqlite3_exec 就是一次事务,如果你要删除1万条数据,sqlite就做了1万次:开始新事务->删除一条数据->提交事务->开始新事务->… 的过程。这个操作是很慢的。因为时间都花在了开始事务、提交事务上。( N' a- [* y- d/ ~' n! O

8 g' V. o" E0 Y   u1 B- ~4 |你可以把这些同类操作做成一个事务,这样如果操作错误,还能够回滚事务。3 C, P9 ^3 m- w

   b7 `( Y; ^+ `% Q6 |3 y/ N事务的操作没有特别的接口函数,它就是一个普通的 sql 语句而已:$ c+ @6 H- b" M* I; K* z

# |' @# \" B   h# H5 ]1 R分别如下:

复制内容到剪贴板

代码:

int result;  

result = sqlite3_exec( db, "begin transaction", 0, 0, &zErrorMsg ); //开始一个事务

result = sqlite3_exec( db, "commit transaction", 0, 0, &zErrorMsg ); //提交事务

result = sqlite3_exec( db, "rollback transaction", 0, 0, &zErrorMsg ); //回滚事务

抱歉!评论已关闭.