易截截图软件、单文件、免安装、纯绿色、仅160KB

SQLite FAQ中文版

1) 如何创建自增字段?

简单的回答:一个声明为 INTEGER PRIMARY KEY 的字段将自动增加。
这里是详细的答案: 从 SQLite 的 2.3.4 版本开始,如果你将一个表中的一个字段声明为 INTEGER PRIMARY
KEY,那么无论你何时向该表的该字段插入一个 NULL 值,这个 NULL 值将自动被更换为比表中该字段所有行的最大值大
1 的整数;如果表为空,那么将被更换为 1。比如,假设你有这样的一张数据表:
CREATE TABLE t1(
a INTEGER PRIMARY KEY,
b INTEGER
);
在这张数据表里,声明
INSERT INTO t1 VALUES(NULL,123);
在逻辑意义上等价于:
INSERT INTO t1 VALUES((SELECT max(a) from t1)+1,123);
一个新的API函数 sqlite3_last_insert_rowid()
返回最近的插入操作的整形键
注意这个整型键始终比之前插入表中的最后一个键大1。新键相对于表中的已有键来说是唯一的,
但它可能与之前从表中删除的键值重叠。要始终得到在整个表中唯一的键,在INTEGER PRIMARY
KEY的声明之前加关键词AUTOINCREMENT.这样被选的键将总是比表中已存在的最大键大1。若可能的
最大键已存在于表中,INSERT操作将失败并返回一个SQLITE_FULL错误码.
(2) SQLite 支持哪些数据类型?
参见 http://www.sqlite.org/datatype3.html
.
(3) 为什么能向 SQLite 数据库的整型字段中插入字符串?
这是一个功能,不是一个 bug。你可以在任何字段中放任何信息,而不用管字段声明为什么类型。
你可以往整型字段中插入任意长度的字符串,或者往布尔字段中插入浮点数,或者往字符字段中 插入日期。在 CREATE
TABLE 命令中你指定给这个字段的数据类型不会限制插入这个字段的数据。
所有的字段可以插入任意长度的字符串。但对于 INTEGER PRIMARY KEY 字段例外。这种字段只能
存放一个64位的整数,否则会出错。
但SQLite会默认你希望使用声明的字段类型。所以,比如你希望在一个声明为INTEGER的字段
中插入一个字符串,SQLite会试图将其转换为一个整数。如果转换成功,那么整数将被插入,否
则插入字符串,这种特性有时被称作type or column
affinity
.
(4) 为什么 SQLite 认为表达式 '0'=='00' 为真?
在 2.7.0 之后,表达式不成立。参见文档 datatypes in
SQLite version 3
(5) 为什么 SQLite 不允许在同一张表里使用 '0' 和 '0.0' 作为两个不同的行的主键?
你的主键一定是数值类型的,把类型改为 TEXT


相关文档:

SQLite 简介

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

SQLite 3 一些基本使用

使用工具: 
      SQLite Expert SQLite数据库管理工具,非常好用,类似我之前介绍的EMS SQL Manager 2007 for MySQL
      System.Data.SQLite SQLite For ADO.NET驱动,类似我之前介绍的MySql.Data.dll
这2个工具都包括了SQLite的引擎
1、从http://www.s ......

ASP连接SQLite数据库一例

要用ASP来操作SQLite数据库,前提条件是在服务器上得安装SQLite的ODBC驱动程序,可到这个站点上下载安装:http://www.ch-werner.de/sqliteodbc/,安装好后就可以像使用Access一样来使用SQLite了!下边是一个SQLite数据库结构:
引用内容
Create TABLE admin(username text,age integer);
我们再来用ASP演示下如何对SQLi ......

SQLite语法 PRAGMA


SQLite支持的编译指令(pragma)
PRAGMA命令
是用于修改SQlite库或查询SQLite库内部数据(non-table)的特殊命令。PRAGMA 命令使用与其它SQLite命令(e.g. SELECT, INSERT)相同的接口,但在如下重要方面与其它命令不同:
在未来的SQLite版本中部分pragma可能被删除或添加,小心使用。
当使用未知的pragma语句时不产生报错 ......

总结SQLite不支持的SQL语法有哪些


1 TOP
这是一个大家经常问到的问题,例如在SQLSERVER中可以使用如下语句来取得记录集中的前十条记录:
SELECT TOP 10 * from [index] ORDER BY indexid DESC;
但是这条SQL语句在SQLite中是无法执行的,应该改为:
SELECT * from [index] ORDER BY indexid DESC limit 0,10;
其中limit 0,10表示从第0条记录开始,往后 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号