在 CQL 中准备和执行查询

Prepare and execute a query in CQL

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

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

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

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

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

PreparedStatement prepared = session.prepare(
  "insert into product (sku, description) values (?, ?)");

BoundStatement bound = prepared.bind("234827", "Mouse");
session.execute(bound);

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