我知道有人问过这个问题(http://www.datastax.com/support-forums/topic/java-driver-cql-3-bound-statements-in-clause#post-13114,Prepared Statement with collection in IN clause in Datastax Cassandra CQL driver)
但是,我仍然不知道如何绑定数据 . 例如,我的preparedStatement是
select * from cf where key in (?)
我想要的是绑定数据,cql看起来像
select * from cf where key in ('key1', 'key2')
现在我有一个boundStatement .
当我使用boundStatment.bind()api时 . 我试着绑定?但是,使用List或Array,它会说:
列值为varchar类型,无法设置为列表
好的,我设置了一个字符串并使用boundStatement.bind,如下所示:
boundStatement.bind("'key1','key2'");
没有异常,但resultSet为空 . 为什么?我认为因为驱动程序将其解析为
select * from cf where key in (''key1', 'key2'')
(注意一个冗余的引用,因为它认为所有的''key1'和'key2'“是一个字符串) .
所以,我知道datastax在子句中有支持 . 但我找不到一些例子..
可以帮助我吗?谢谢!
1 回答
正确的语法是:
这将允许您为查询参数绑定List .