【发布时间】:2011-06-14 21:28:20
【问题描述】:
我想要做的就是发送一个类似的查询
SELECT * FROM table WHERE col IN (110, 130, 90);
所以我准备了以下声明
SELECT * FROM table WHERE col IN (:LST);
然后我用
sqlite_bind_text(stmt, 1, "110, 130, 90", -1, SQLITE_STATIC);
不幸的是,这变成了
SELECT * FROM table WHERE col IN ('110, 130, 90');
并且是无用的(注意两个额外的单引号)。我已经尝试在字符串中添加额外的 ' 但它们被转义了。我没有找到关闭转义或防止文本被单引号括起来的选项。我能想到的最后一件事是不使用准备好的语句,但我只会把它作为最后的选择。您有什么想法或建议吗?
谢谢
编辑:
参数的数量是动态的,所以它可能是三个数字,如上例所示,一或十二。
【问题讨论】:
标签: sqlite select prepared-statement bind