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