iOS开发之数据库database is locked

文章预读

sqlite3 database is locked 问题解决方案

出现问题的原因:

说白了就是你在操作数据库的时候,别的地方也在同时操作这个数据库,或者别的线程中也在操作这个线程,这样就导致了“database is locked”这样的问题

问题解决:

①逻辑隔离:
加延迟等待代码

//在执行操作的时候,加上此句代码,比如查询、插入、删除、修改等操作的时候
sqlite3_busy_timeout(db, 30*1000); //最长等待30m ,也相当于延时

②物理隔离
建立多个数据库(这样最安全,但是耗性能和资源)

自己权衡把握,以上!!!


呆萌.png

你可能感兴趣的:(iOS开发之数据库database is locked)