SQLite学习之自增列(03)

摘要:
ID列必须是自递增的。然后,系统将自动添加一个sqlite_Sequence表,sqlite_Ssequence表也是sqlite的系统表。创建数据库时,sqlite_将自动创建序列表。第一列是名称,用于存储表的名称。第二列是seq,用于保存表对应的RowID的最大值。如果该值超过最大值,将导致SQL _ FULL错误。因此,一旦发现错误,用户不仅要检查SQLite文件所在的磁盘空间是否不足,还要检查任何表的ROWID是否达到最大值。

ID列一定要为自增SQLite学习之自增列(03)第1张

然后,系统会自动增加一个sqlite_sequence表,sqlite_sequence表也是SQLite的系统表。该表用来保存其他表的RowID的最大值。数据库被创建时,sqlite_sequence表会被自动创建。该表包括两列。第一列为name,用来存储表的名称。第二列为seq,用来保存表对应的RowID的最大值。该值最大值为9223372036854775807。当对应的表增加记录,该表会自动更新。当表删除,该表对应的记录也会自动删除。如果该值超过最大值,会引起SQL_FULL错误。所以,一旦发现该错误,用户不仅要检查SQLite文件所在的磁盘空间是否不足,还需要检查是否有表的ROWID达到最大值。


以前ID列不是自增,改成自增的步骤:

--1.将表名改为临时表

ALTER TABLE "Student" RENAME TO "_Student_old_20140409"


--2.创建新表

CREATE TABLE "Student" (

"Id" INTEGER PRIMARY KEY AUTOINCREMENT,

"Name" Text)


--3.导入数据

INSERT INTO "Student" ("Id", "Name") SELECT "Id", "Title" FROM "_Student_old_20140409";

INSERT INTO student  VALUES(null, 'aaa')--自增列  值 为null

免责声明:文章转载自《SQLite学习之自增列(03)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇2-k8s笔记-Kubernetes安装配置指南SQL Server 创建索引(index)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

提升SQLite数据插入效率低、速度慢的方法

前言 SQLite数据库由于其简单、灵活、轻量、开源,已经被越来越多的被应用到中小型应用中。甚至有人说,SQLite完全可以用来取代c语言中的文件读写操作。因此我最近编写有关遥感数据处理的程序的时候,也将SQLite引入进来,以提高数据的结构化程度,并且提高大数据的处理能力(SQLite最高支持2PB大小的数据)。但是最开始,我发现,直接使用SQL语句...

UniGUI的SQLite数据库(04)

1]放FDConnection1和FDQuery1到界面上 一定要 放一个 FDPhysSQLiteDriverLink1到ServerModule上 2]在OnFormCreate事件里写 FDQuery1.Connection := FDConnection1;FDConnection1.LoginPrompt:=false; //取消登录提示框...

python系列之(3)爬取豆瓣图书数据

上次介绍了beautifulsoup的使用,那就来进行运用下吧。本篇将主要介绍通过爬取豆瓣图书的信息,存储到sqlite数据库进行分析。 1.sqlite SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。 就像其他数据库,SQLite...

sqlite简介

SQLite 是一个实现了完备的(self-contained),可嵌入的(embeddable),零配置(zero-configuration)的SQL数据库引擎的小型的C函数库。它包含以下的特点:.    事务处理原子化(atomic),一致化(consistent),持久化(isolated),绝缘化(durable),即使是在系统崩溃和掉电时   ...

android SQLite使用SQLiteOpenHelper类对数据库进行操作

一、 SQLite介绍SQLite是android内置的一个很小的关系型数据库。SQLite的官网是http://www.sqlite.org/,可以去下载一些文档或相关信息。博客中有一篇有稍微详细一点的介绍,大家可以去看一下。二、 SQLiteOpenHelper的使用方法SQLiteOpenHelper是一个辅助类来管理数据库的创建和版本。可以通过继承...

centos6 python 安装 sqlite 解决 No module named ‘_sqlite3′

原文连接: http://blog.csdn.net/jaket5219999/article/details/53512071 系统red hat6.7 也即centos6.7 python3.5.2 安装 django 之后 创建project 以及 import sqlite3 都出现  No module named ‘_sqlite3′  >...