首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用嵌入式接口在QuestDB中追加行?

如何使用嵌入式接口在QuestDB中追加行?
EN

Stack Overflow用户
提问于 2021-06-28 05:53:36
回答 1查看 57关注 0票数 1

我正在寻找一个例子,如何使用嵌入在Java进程中的QuestDB。我有一张桌子

代码语言:javascript
复制
CREATE TABLE market_tick ( tickTimeStamp TIMESTAMP, token SYMBOL) 
timestamp(tickTimeStamp) 
PARTITION BY MONTH

并且我附加了像这样的行

代码语言:javascript
复制
TableWriter tableWriter = questDB.getTableWrite( "market_tick" ) ;
TableWriter.Row row = tableWriter.newRow() ;
row.putTimestamp( 0, timeStamp );
String token = String.valueOf(event.getToken()) ;
row.putSym(1, token );
tableWriter.commit();

我也有例外

代码语言:javascript
复制
io.questdb.cairo.CairoException: [5] Cannot remove directory: C:\trade\questdb\market_tick\1970-01\token.k
    at io.questdb.std.ThreadLocal.initialValue(ThreadLocal.java:36)
    at java.base/java.lang.ThreadLocal.setInitialValue(ThreadLocal.java:195)
    at java.base/java.lang.ThreadLocal.get(ThreadLocal.java:172)
    at io.questdb.cairo.CairoException.instance(CairoException.java:42)

如何使用Java embedded API插入行?

EN

回答 1

Stack Overflow用户

发布于 2021-06-28 05:53:36

因为表market_tick有指定的时间戳,所以您不能使用tableWriter.newRow()创建新行,而必须使用tableWriter.newRow(timeStamp)。代码的其余部分是正确的

代码语言:javascript
复制
TableWriter tableWriter = questDB.getTableWrite( "market_tick" ) ;
TableWriter.Row row = tableWriter.newRow(timeStampMicroSeconds) ;
String token = String.valueOf(event.getToken()) ;
row.putSym(1, token );
tableWriter.commit();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68155577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档