数据插入VID长度问题

Nebula Graph 版本为 v2.0-ga

在Nebula Graph里面新建了名为ACline_dot的TAG,在像里面插入数据的报错

CREATE TAG ACline_dot(AClinedot double, topoID int, id int, name string, nd int, off int, pimeas double, qimeas double, typename string, volt double, base_value double, strid string);

INSERT VERTEX `ACline_dot`(`AClinedot`,`id`,`strid`,`name`,`nd`,`off`,`typename`,`volt`,`base_value`) VALUES  "116812115351699468": (116812115351699468,116812115351699468,"116812115351699468","国调.复龙换流站/500kV.泸复三线",999598348897,999598348897,"999598348897",500,525.00);

报错信息:

Storage Error: The VID must be a 64-bit interger or a string fitting space vertex id length limit.

调整VID的大小进行插入,可以成功:

INSERT VERTEX `ACline_dot`(`AClinedot`,`id`,`strid`,`name`,`nd`,`off`,`typename`,`volt`,`base_value`) VALUES  "116812": (116812115351699468,116812115351699468,"116812115351699468","国调.复龙换流站/500kV.泸复三线",999598348897,999598348897,"999598348897",500,525.00);

你可以看下 DESC SPACE的结果, 有一项vid_type, 如果CREATE SPACE时没有指定vid_type,那么默认是FIXED_STRING(8)。 所以当你的vid值超过8个字符时 数据会插入失败。
https://docs.nebula-graph.com.cn/2.0/3.ngql-guide/9.space-statements/1.create-space/

1 个赞

指定vid_type后好了,谢谢