SQLite设置自增,分析sqlite_sequence,报错:database is locked

sqlite设置自增

例如id属性设置自增

create table tableName(
id integer primary key AUTOINCREMENT)

分析数据库里sqlite_sequence这张表

第一列是name,用来存储含有自增属性的表的名称。第二列是seq,用来保存表对应的RowID的最大值。当对应的表增加记录,该表会自动更新。当表删除,该表对应的记录也会自动删除。

图中6就表示我FruitForm表中自增的id最大值为6

报错:database is locked

对于我使用sqlite经常会报的错:
database is locked(意思是数据库已经被锁了)

这是因为sqlite3只支持一写多读.
意思就是 读与读可以同时进行
读与写不可同时进行
写与写不可同时进行
对于我解决这个问题就是把数据库管理软件和连接数据库执行操作的程序都关掉,重新打开数据库再进行操作。因为我在网上搜索他们的解决方法都不奏效,所以我只能重开。。。当然别人写的帖子的方法写的确实好,我也不知道为什么在我这行不通。。。

小结

我使用sqlite是因为它是python自带的一个库,写代码直接import sqlite3就好了

而且SQLite也是一款非常轻型的数据库,所以功能有所欠缺。也是实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制。

感兴趣的同学可以看这学习教程:https://www.runoob.com/sqlite/sqlite-tutorial.html

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值