【问题标题】:Prepare and execute a query in CQL在 CQL 中准备和执行查询
【发布时间】:2020-09-01 17:34:06
【问题描述】:

您好,我已经阅读了很多文档和文章,但是我找不到任何可以准备和执行查询的 CQL 命令,我希望客户端向服务器发送 PREPARE 和 EXECUTE 请求,有什么方法可以手动调用该请求?

例如,我发现了一个准备查询然后执行它的 PostgreSQL 命令:

PREPARE fooplan (int, text, bool, numeric) AS
    INSERT INTO foo VALUES($1, $2, $3, $4);
EXECUTE fooplan(1, 'Hunter Valley', 't', 200.00);

如何在 CQL 中做同样的事情?

【问题讨论】:

    标签: cassandra cql


    【解决方案1】:

    您不能在纯 CQL 中执行此操作 - 准备/执行仅在驱动程序中可用。 因此,例如,对于Java,它将是:

    PreparedStatement prepared = session.prepare(
      "insert into product (sku, description) values (?, ?)");
    
    BoundStatement bound = prepared.bind("234827", "Mouse");
    session.execute(bound);
    

    在其他语言中,方法是相同的(尽管 c. 您准备语句一次(它应该存储在某个地方以供重用),然后创建一个提供实际数据值的绑定语句,然后执行该绑定语句。

    【讨论】:

    • 谢谢 :),有没有准备好的 Cassandra 客户端,我可以检查我的协议解析是否有 PREPARE 和 EXECUTE 请求?
    • 我不完全明白你的意思?你可以使用 Python 之类的东西来检查你的查询
    猜你喜欢
    • 2019-06-13
    • 2019-04-28
    • 1970-01-01
    • 2016-08-29
    • 1970-01-01
    • 1970-01-01
    • 2020-11-12
    • 1970-01-01
    • 2014-06-01
    相关资源
    最近更新 更多