insert插入数据报错

采用ngql脚本建立空间,定义schema并插入数据时报错,ngql脚本内容如下:

#############################################################
CREATE SPACE IF NOT EXISTS nba(partition_num=10, replica_factor=1);
USE nba;
CREATE TAG IF NOT EXISTS player(name string, age int);
CREATE TAG IF NOT EXISTS team(name string);
CREATE EDGE IF NOT EXISTS follow(degree int);
CREATE EDGE IF NOT EXISTS serve(start_year int, end_year int);

insert vertex player(name,age) values 100:("Tim Duncan", 42)
insert vertex player(name,age) values 101:("Tony Parker", 36)
insert vertex player(name,age) values 102:("LaMarcus Aldridge", 33)
insert vertex team(name) values 200:("Warriors")
insert vertex team(name) values 201:("Nuggets")

insert edge follow(degree) values 100->101:(95)
insert edge follow(degree) values 101->100:(95)
insert edge follow(degree) values 101->102:(90)
insert edge follow(degree) values 102->101:(75)
insert edge follow(degree) values 102->100:(75)
#######################################################

运行方式:

cat nba.ngql | sudo docker run --rm -i --network=host vesoft/nebula-console:nightly --addr=127.0.0.1 --port=3699

运行结果:
建立space和定义schema成功,插入失败,显示不存在该edge schema

insert vertex player(name,age) values 100:("Tim Duncan", 42)
[ERROR (-8)]: No schema found for `player'
Wed Sep 16 07:30:14 2020

insert vertex player(name,age) values 101:("Tony Parker", 36)
[ERROR (-8)]: No schema found for `player'
Wed Sep 16 07:30:14 2020

insert vertex player(name,age) values 102:("LaMarcus Aldridge", 33)
[ERROR (-8)]: No schema found for `player'
Wed Sep 16 07:30:14 2020

经过多次测试发现,如果在建立space,定义schema后等一会儿再插入,就不会出错,但是在一个文件里定义schema后立刻插入,就会提示没有该tag或edge。
这是什么原因呢

嗯,目前确实是这样,创建完schema后,不能立即插入数据,需要等待一会儿。

1 个赞

好的,谢谢解答!

1 个赞

客气,一般是等待两个心跳时间,比如你的心跳时间是3s一次,那么大概6s后schema就ready了

2 个赞

明白了 :clap: