1

我正在使用 Datastax php-driver 在我的 cassandra 上运行 CQL。我使用 INSERT、UPDATE、DELETE 操作。

下面是我为插入运行的示例代码

        $cluster = Cassandra::cluster()
                ->withContactPoints('54.XX.XX.XX', '54.XX.XX.XX','54.XX.XX.XX')
                ->withDefaultConsistency(4)
                ->build();

        $session = $cluster->connect('Sample_Key_Space');
        $statement = new Cassandra\SimpleStatement('insert_query');
        $result = $session->execute($statement);

我的问题是,如何知道插入(或更新、删除)是否成功。我已阅读 Datastax 文档并知道$session->execute返回Cassandra\Rows,使用此 Rows 对象“如何判断我的 CQL 是成功还是失败? ”。

非常感谢任何帮助或输入...

更新:

根据答案,工作代码示例

try {
$cluster = Cassandra::cluster()
            ->withContactPoints('54.XX.XX.XX')
            ->withDefaultConsistency(4)
            ->build();

    $session = $cluster->connect('school');

    $statement = new Cassandra\SimpleStatement("UPDATE1 activities SET activity_by = 'nagarajan' WHERE master_id = 12 AND activity_type='Hello' AND activity_id=10");
$result = $session->execute($statement);
return true;
} catch (Cassandra\Exception $e $e) {
    return 'failed';
}
4

1 回答 1

2

用 包围执行方法try catch。如果查询失败,则执行方法会引发异常,您可以在应用程序中检查该异常。

有关更多详细信息,请访问 Session.Execute

于 2016-06-17T11:00:50.330 回答