此页面可以下载SQLite的帮助文档
http://system.data.sqlite.org/index.html/doc/trunk/www/index.wiki
源代码下载【简直无力吐槽,用的代码版本控制工具居然是Fossil,我熟悉的是git和svn】
http://system.data.sqlite.org/index.html/doc/trunk/www/source.wiki
fossil的下载地址,安装很快的
http://www.fossil-scm.org/download.html
***安装完成之后,将可执行文件放到C:\Windows\System32 【此目录默认在PATH环境变量】 //cmd命令就在此目录,之后运行cmd,就可以通过命令行来操作fossil了***不能切换目录
可以将可执行文件放到此目录C:\Program Files (x86)\Git\bin 然后调用gitbash
For convenience, the Fossil executable file should be placed in a directory present in your PATH. To uninstall Fossil, simply delete the executable file.
使用此命令可以clone完整的版本库,先创建一个文件夹Fossil,然后在Fossil文件夹里面新建一个文件夹System.Data.SQLite,然后在Fossil文件夹调用fossil clone
fossil clone http://system.data.sqlite.org/ System.Data.SQLite/sds.fossil
fossil clone命令执行完成之后,所有的数据都存放在System.Data.SQLite文件夹下的sds.fossil文件中,查看了下大小为271M。
在Fossil文件夹下执行命令 fossil open System.Data.SQLite/sds.fossil
然后查看Fossil文件夹,就会发现,所有的代码文件已经解压出来了
如果以后想要更新最新的代码
执行此命令fossil update
这样就可以查看chm文档了(官网直接下载的不能查看)
意外之喜是,居然可以直接查看msdn上的文档
[DecID] INTEGER(16) NOT NULL PRIMARY KEY ON CONFLICT FAIL,
ON CONFLICT子句不是独立的SQL命令。这是一条可以出现在许多其他SQL命令中的非标准的子句。由于它并不是标准的SQL语言,这里单独介绍它。
ON CONFLICT子句的语法在如上的CREATE TABLE命令中示出。对于INSERT和UPDATE,关键词"ON CONFLICT"由"OR"替代,这样语法显得自然。例如,不用写"INSERT ON CONFLICT IGNORE"而是"INSERT OR IGNORE".二者表示相同的意思。
ON CONFLICT子句定义了解决约束冲突的算法。有五个选择:ROLLBACK, ABORT, FAIL, IGNORE, 和REPLACE.缺省方案是ABORT.选项含义如下:
当发生约束冲突,立即ROLLBACK,即结束当前事务处理,命令中止并返回SQLITE_CONSTRAINT代码。若当前无活动事务(除了每一条命令创建的默认事务以外),则该算法与ABORT相同。
当发生约束冲突,命令收回已经引起的改变并中止返回SQLITE_CONSTRAINT。但由于不执行ROLLBACK,所以前面的命令产生的改变将予以保留。缺省采用这一行为。
当发生约束冲突,命令中止返回SQLITE_CONSTRAINT。但遇到冲突之前的所有改变将被保留。例如,若一条UPDATE语句在100行遇到冲突100th,前99行的改变将被保留,而对100行或以后的改变将不会发生。
当发生约束冲突,发生冲突的行将不会被插入或改变。但命令将照常执行。在冲突行之前或之后的行将被正常的插入和改变,且不返回错误信息。
当发生UNIQUE约束冲突,先存在的,导致冲突的行在更改或插入发生冲突的行之前被删除。这样,更改和插入总是被执行。命令照常执行且不返回错误信息。当发生NOT NULL约束冲突,导致冲突的NULL值会被字段缺省值取代。若字段无缺省值,执行ABORT算法。
当冲突应对策略为满足约束而删除行时,它不会调用删除触发器。但在新版中这一特性可能被改变。
INSERT或UPDATE的OR子句定义的算法会覆盖CREATE TABLE所定义的。ABORT算法将在没有定义任何算法时缺省使用。