SQLite
从版本
3.6.4
开始支持
UPDATE/DELETE
使用
LIMIT
子句,可以使用宏
SQLITE_ENABLE_UPDATE_DELETE_LIMIT
进行编译控制。
但是,从 http://www.sqlite.org/download.html 上直接下载得到的 amalgamation 代码,是不支持这个功能的。我们必须使用代码未被合并的完整代码生成我们自己的 amalgamation 代码。
从 http://www.sqlite.org/cgi/src/taglist 获得你需要的代码包,比如版本 3.8.0.2 的下载地址是 http://www.sqlite.org/cgi/src/info/7dd4968f23 ,我们这里以版本 3.8.0.2 在 Windows 平台下为例进行说明。下载好后,将代码包解压缩到任意位置,比如: C:\sqlite_code
下载之后,我们还需要两个工具:
ActiveTcl v8.5
下载地址: http://www.tcl.tk/software/tcltk/8.5.html
使用默认方式进行安装
gwak
下载地址: http://gnuwin32.sourceforge.net/packages/gawk.htm
找到 gawk.exe ,丢在 SQLite 代码所在目录(和 Makefile.msc 同一个目录)
使用 MSVC 的命令提示工具,进入 SQLite 代码所在目录,进行生成 amalgamation 代码的 make 操作:
C:\sqlite_code>nmake -f Makefile.msc "OPTS=-DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1" sqlite3.c
这样,代码所在目录中,就生成了一个打开了 UPDATE/DELETE 的 LIMIT 子句功能的 amalgamation 代码。
使用这个我们自己生成的 amalgamation 代码时,依然要提供 SQLITE_ENABLE_UPDATE_DELETE_LIMIT 这个宏。
其它平台,请参考本说明,在阅读相关 Makefile 后进行操作。
但是,从 http://www.sqlite.org/download.html 上直接下载得到的 amalgamation 代码,是不支持这个功能的。我们必须使用代码未被合并的完整代码生成我们自己的 amalgamation 代码。
从 http://www.sqlite.org/cgi/src/taglist 获得你需要的代码包,比如版本 3.8.0.2 的下载地址是 http://www.sqlite.org/cgi/src/info/7dd4968f23 ,我们这里以版本 3.8.0.2 在 Windows 平台下为例进行说明。下载好后,将代码包解压缩到任意位置,比如: C:\sqlite_code
下载之后,我们还需要两个工具:
ActiveTcl v8.5
下载地址: http://www.tcl.tk/software/tcltk/8.5.html
使用默认方式进行安装
gwak
下载地址: http://gnuwin32.sourceforge.net/packages/gawk.htm
找到 gawk.exe ,丢在 SQLite 代码所在目录(和 Makefile.msc 同一个目录)
使用 MSVC 的命令提示工具,进入 SQLite 代码所在目录,进行生成 amalgamation 代码的 make 操作:
C:\sqlite_code>nmake -f Makefile.msc "OPTS=-DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1" sqlite3.c
这样,代码所在目录中,就生成了一个打开了 UPDATE/DELETE 的 LIMIT 子句功能的 amalgamation 代码。
使用这个我们自己生成的 amalgamation 代码时,依然要提供 SQLITE_ENABLE_UPDATE_DELETE_LIMIT 这个宏。
其它平台,请参考本说明,在阅读相关 Makefile 后进行操作。