我在使用sqlite时遇到了问题,因为我需要在UPDATE语句中使用LIMIT。我使用以下命令编译了sqlite:
wget http://sqlite.org/2016/sqlite-autoconf-3140100.tar.gz
tar zxf sqlite-autoconf-3140100.tar.gz
cd sqlite-autoconf-3140100
./configure --prefix=/usr --disable-static CFLAGS="-g -O2 -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1"
make
make install
当我检查是否使用编译选项时,结果是1,但是当我执行带有限制的更新语句时,我得到了错误
sqlite> select sqlite_compileoption_used('SQLITE_ENABLE_UPDATE_DELETE_LIMIT');
1
sqlite> UPDATE table_name SET modified_at = date('now') WHERE id = 11 LIMIT 1;
Error: near "LIMIT": syntax error
我错过了什么吗?我找不到解决办法。每个答案都很感激。
我正在编译的sqlite的码头集装箱FROM php:5. 6-apache
3条答案
按热度按时间nr7wwzry1#
文档中写道:
如果定义了此选项,则在使用"lemon"工具生成parse. c文件时也必须定义此选项。因此,此选项只能在从源代码构建库时使用,而不是从合并构建库时使用。
所以你必须建立自己的合并。
kuhbmx9i2#
这对我很有效(MacOS):
验证:
aelbi1ox3#
如果有人有同样的问题,我这样编译sqlite