使SQLite的UPDATE/DELETE支持LIMIT子句

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 后进行操作。

你可能感兴趣的:(使SQLite的UPDATE/DELETE支持LIMIT子句)