使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.2Windows平臺下爲例進行說明。下載好後,將代碼包解壓縮到任意位置,比如: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/DELETELIMIT子句功能的amalgamation代碼。

使用這個我們自己生成的amalgamation代碼時,依然要提供SQLITE_ENABLE_UPDATE_DELETE_LIMIT這個宏。

其它平臺,請參考本說明,在閱讀相關Makefile後進行操作。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章