有人可以帮助我使用包含映射类型列的准备好的插入/更新语句的确切语法。认为 :
UPDATE abc SET map = map + ? where id = ?
其中 map 是地图类型列,
我找到了一个答案 Cassandra Prepared statements with collections 但它只包含生成特定地图类型对象而不是绑定的语法。
有人可以帮助我使用包含映射类型列的准备好的插入/更新语句的确切语法。认为 :
UPDATE abc SET map = map + ? where id = ?
其中 map 是地图类型列,
我找到了一个答案 Cassandra Prepared statements with collections 但它只包含生成特定地图类型对象而不是绑定的语法。
对于准备好的查询,您需要像往常一样执行它,但是您需要将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 附加到地图需要另一个地图作为参数。