加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sqlite3 shell命令’.backup’和事务

发布时间:2020-12-12 23:43:24 所属栏目:百科 来源:网络整理
导读:我的本地主机(Win NT)上有sqlite数据库,想备份它.我想使用 shell命令’.backup’来完成这个任务.但似乎我可以在备份过程中将新行插入数据库. ‘.backup’hell命令是否在我的数据库上启动新的独占事务? 我想当我执行’.backup’hell命令时它会锁定我的数据库
我的本地主机(Win NT)上有sqlite数据库,想备份它.我想使用 shell命令’.backup’来完成这个任务.但似乎我可以在备份过程中将新行插入数据库.

‘.backup’hell命令是否在我的数据库上启动新的独占事务?

我想当我执行’.backup’hell命令时它会锁定我的数据库.

sqlite3备份方法不会锁定数据库.如果您想锁定数据库,我建议使用以下解决方法:

>开始交易(共享锁)
>通过使用任何INSERT语句,数据库获得保留锁.但是,此INSERT语句可以为空.
>备份数据库.
>使用ROLLBACK或COMMIT结束事务.

码:

BEGIN;
INSERT INTO <anytable> SELECT * FROM <anytable> WHERE 1=0;
.backup <database> <file>
ROLLBACK;

如果您使用名为“backup”的表并且为每个副本插入一行(date,..)(如果此信息与您相关),则不太常见.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读