当前位置: 首页 > 知识库问答 >
问题:

卡桑德拉在数据轴驱动程序中准备了批处理语句

隆芷阳
2023-03-14

我在Datastax java驱动程序中使用了下面的批处理准备语句代码。

PreparedStatement ps = session.prepare("INSERT INTO messages (user_id,                                                                      
msg_id, title, body) VALUES (?, ?, ?, ?)");
BatchStatement batch = new BatchStatement();
batch.add(ps.bind(uid, mid1, title1, body1));
batch.add(ps.bind(uid, mid2, title2, body2));
batch.add(ps.bind(uid, mid3, title3, body3));
session.execute(batch);

这个Batch语句是已记录还是未记录?

共有1个答案

宰父飞白
2023-03-14

如果没有参数,BatchStatement()将创建一个记录的批处理。

或者传递BatchStatement。类型=UNLOGGED以创建UNLOGGE批。

有关详细信息,请查看文档:http://www.datastax.com/drivers/java/2.0/com/datastax/driver/core/BatchStatement.html

 类似资料:
  • 我相信我已经在Cassandra csharp驱动程序(版本2.7.3)的StatementFactory中发现了一个关于如何缓存准备好的语句的逻辑的bug。下面是使用案例。 我们发现,运行此删除后,只有第一个请求成功。在深入了解StatementFactory的源代码之后 您可以看到缓存仅使用 cql 语句。在我们的例子中,我们在不同的键空间(又名会话)中具有相同的表名。两个查询中的 cql 语

  • 我正在使用卡桑德拉1.2.4和1.0.0的Datastax java驱动程序(通过Clojure的Alia,但我认为这在这里并不重要)。如果我准备一个带有 timeuuid 列的语句,并将 “now()” 放在 timeuuid 的值中,now() 在编译准备好的语句时被计算一次,然后就再也没有计算过了。 想象一下这个准备好的语句:"插入到some_table(id, time)值(?, now(

  • 我正在使用批处理语句将来自csv文件的数据插入到卡桑德拉中。我的表格看起来像这样创建表格曝光(暴露比金特,文件比金特,研究文本,项目文本,w文本,x文本,y文本,z文本) 将所有Cassandra表colNames作为键,它们的值在地图中如下所示 makeSt方法准备预处理语句 这一切都很好。然后我做以下事情 当我运行程序时,我收到以下错误 程序中断的确切行是第486行,也就是 我正在使用Data

  • 我正在尝试运行以下查询 我将Long的Java列表绑定为参数,并得到一个异常 如果我尝试使用(?),它期望绑定单个Long项目,但我需要一个集合 语法有误吗?

  • 我使用的是spring数据cassandra,需要使用jpa映射一个字段,在cassandra中,该字段的类型为

  • 我使用的是datastax Cassandra 2.0驱动程序,我在使用预先准备好的绑定语句。假设我想查询如下内容: 其中,UUID1、UUID2、UUID3是UUID值。使用绑定语句实现这一点的编程方法是什么?目前,我正在尝试以下方法: 这当前返回了错误的结果。如何正确格式化查询有何建议?