CnosDB版本ef1b5d0d创建表语句执行报错求助
解决CnosDB创建表时的SQL解析错误(error_code:010009)
问题重现
使用CnosDB版本ef1b5d0dcc9d3db0858e8d850a89b07b3c839a5f,执行以下建表语句:
create table test1(col bigint);
报错信息:
422 Unprocessable Entity, details: {"error_code":"010009", "error_message": "sql parse err: Expected CODEC or ',' found:)"}
解决方案
CnosDB作为时序数据库,建表必须包含时间列(默认字段名为time,类型为timestamp),字段可明确指定为tag(标签)或默认的field(普通字段)。以下是修正后的建表语句:
方式1:使用默认时间列
create table test1( time timestamp, col bigint );
方式2:将col设为标签
create table test1( time timestamp, col bigint tag );
方式3:自定义时间列名称
如果需要使用非默认的时间列名,可通过time关键字指定:
create table test1( custom_time timestamp time, col bigint );
原因说明
你使用的CnosDB版本对建表语法有严格要求:
- 时序表必须包含时间列,用于数据的时序索引;
- 字段定义后可追加
tag标识(若为标签),普通字段可省略,但时间列是必填项; - 原语句缺少时间列,导致SQL解析器无法识别合法的表结构,从而抛出语法错误。
内容的提问来源于stack exchange,提问作者bfr
相关产品推荐
相关产品推荐

