Cassandra 插入:InvalidQueryException:列条件中的无效空值
Cassandra insertion: InvalidQueryException: Invalid null value in condition for column
嗨,我开始使用 Cassandra,我正在尝试使用 DropWizard
创建的 REST 服务器中 Java 中的这段代码将数据插入 Cassandra table
public int insertqueueid(Datafilter data) throws UnknownHostException
{
PreparedStatement prep = defaultSession.prepare("insert into queueid (queueid, filter, nom, date) values (?,?,?,?)");
BoundStatement bound = prep.bind(data.getQueued(),data.getFilter(),getName(), new Date()) ;
defaultSession.execute(bound);
return 0 ;
}
但是它给了我这个错误:
ERROR [2017-07-03 23:45:57,514] io.dropwizard.jersey.errors.LoggingExceptionMapper: Error handling a request: 5d2d169dd71c2520
! com.datastax.driver.core.exceptions.InvalidQueryException: Invalid null value in condition for column queueid
! at com.datastax.driver.core.Responses$Error.asException(Responses.java:136)
! at com.datastax.driver.core.DefaultResultSetFuture.onSet(DefaultResultSetFuture.java:179)
! at com.datastax.driver.core.RequestHandler.setFinalResult(RequestHandler.java:177)
你怎么看,这是问题所在吗?
对不起语言不当
根据错误,似乎正在将 NULL 值传递给 queueid 列。我假设它是 table 的分区键,您不能为该列传递 NULL。
请检查数据并相应修复。
如果是Rest调用请在方法中添加@RequestBody
如下。
public int insertqueueid(@RequestBody Datafilter data) throws UnknownHostException
嗨,我开始使用 Cassandra,我正在尝试使用 DropWizard
创建的 REST 服务器中 Java 中的这段代码将数据插入 Cassandra table public int insertqueueid(Datafilter data) throws UnknownHostException
{
PreparedStatement prep = defaultSession.prepare("insert into queueid (queueid, filter, nom, date) values (?,?,?,?)");
BoundStatement bound = prep.bind(data.getQueued(),data.getFilter(),getName(), new Date()) ;
defaultSession.execute(bound);
return 0 ;
}
但是它给了我这个错误:
ERROR [2017-07-03 23:45:57,514] io.dropwizard.jersey.errors.LoggingExceptionMapper: Error handling a request: 5d2d169dd71c2520 ! com.datastax.driver.core.exceptions.InvalidQueryException: Invalid null value in condition for column queueid ! at com.datastax.driver.core.Responses$Error.asException(Responses.java:136) ! at com.datastax.driver.core.DefaultResultSetFuture.onSet(DefaultResultSetFuture.java:179) ! at com.datastax.driver.core.RequestHandler.setFinalResult(RequestHandler.java:177)
你怎么看,这是问题所在吗?
对不起语言不当
根据错误,似乎正在将 NULL 值传递给 queueid 列。我假设它是 table 的分区键,您不能为该列传递 NULL。
请检查数据并相应修复。
如果是Rest调用请在方法中添加@RequestBody
如下。
public int insertqueueid(@RequestBody Datafilter data) throws UnknownHostException