想知道如何使用PHP驱动程序将Cassandra中准备好的插入语句中的映射类型列绑定

时间:2018-07-13 11:40:37

标签: cassandra datastax-php-driver

有人可以使用确切的语法来帮助我,以使用包含映射类型列的准备好的插入/更新语句。 假设:

UPDATE abc SET map = map + ? where id = ?

其中map是地图类型列

我找到了答案 Cassandra准备了带有集合的语句 但它只包含生成特定地图类型对象而不是绑定的语法。

1 个答案:

答案 0 :(得分:1)

对于准备好的查询,您需要照常执行它,但是您需要将Cassandra::Map对象作为第一个参数传递,如下所示:

 $statement = $session->prepare('....')
 $map = Cassandra\Type::map(Cassandra\Type::varchar(), Cassandra\Type::int())
       ->create('a', 1);
 $id = 'something'
 $session->execute($statement, array('arguments' => array($map, $id)));

您需要传递Map对象,因为CQL's appending to the map expects另一个映射作为参数。