当前位置:  开发笔记 > 数据库 > 正文

准备好的语句和IN表达式

如何解决《准备好的语句和IN表达式》经验,为你挑选了1个好方法。

我有一个数据库,用户可以在其中搜索包含一个或多个项目列表的记录.我正在使用IN进行搜索,但我无法使用IN来处理预准备语句.这就是我尝试过的:

SELECT * FROM tbl1 WHERE col IN (?)

但是准备好的声明将我传递的项目列表视为单个项目.我怎样才能做到这一点?

我正在使用sqlite,如果它有任何区别.



1> duffymo..:

你不能这样做,因为你不能绑定到一个数组.

你必须分两步完成:

    用一个'?'创建SQL 数组或列表中的每个值.

    循环遍历数组或列表并绑定每个值.

无论数据库如何都是如此.

您没有说明子SELECT是否可以是更好的解决方案,但如果有问题的值在另一个表中可用,也许可以使其工作.

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有