能否在不知道VertexID情况下新增节点

nebula-graph版本:1.2.0

由于INSERT语句语法为:

INSERT VERTEX <tag_name> (<prop_name_list>) [, <tag_name> (<prop_name_list>), ...]
     {VALUES | VALUE} VID: (<prop_value_list>[, <prop_value_list>])

VID能不进行填写吗?或者有没有方法获取整张图最大的VID这样可以实现自增id

没有自增id功能
pk必须填

好吧T_T所以nebula期望的是用户定时把图库刷一道是吗?

什么意思?

就是定时把新旧数据一同重新输入到图库里面的意思

你的数据没有主键吗?那怎么区分不同的记录?

有的,但主要问题是如果我要增加新数据的话不是要输入 insert … vid … 的语句嘛,那我必须要知道这个节点在图库里面的vid呀,难道是需要我把主键作为vid吗?但是如果我的主键在一段时间后都会做出改动那连着图库里面节点的位置也要变了,图结构也要一起变化,就很麻烦了呀

Vid目前没有自增功能,需要在数据导入时显示指定Vid。另外,Vid并不要求是连续的,只要保证唯一性就好。2.0支持int或fixed_string类型的VID,可以根据实际业务场景来定义一个合适的vid。

另外,假设vid有自增功能,点和点之间的关系(Edge)也不好确定吧。

主键都要改,还叫主键嘛。。。

1 个赞

行吧,我们是1.2.0,只能int做主键。。所以需要定位到自定义的主键上的vid才行