有人可以使用确切的语法来帮助我,以使用包含映射类型列的准备好的插入/更新语句。 假设:
UPDATE abc SET map = map + ? where id = ?
其中map是地图类型列
我找到了答案 Cassandra准备了带有集合的语句 但它只包含生成特定地图类型对象而不是绑定的语法。
答案 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另一个映射作为参数。