Orientdb 在“删除顶点v;”之后如何重置RecordId?
执行Orientdb 在“删除顶点v;”之后如何重置RecordId?,orientdb,database,nosql,Orientdb,Database,Nosql,执行后删除顶点v要从oriendb数据库中删除所有记录,如何重置RecordId(@rid)以重新开始 我想运行测试,所以在删除所有记录后,我会再次为记录设置种子;我测试了一个特定的记录#13:3,但它在被撕毁后发生了变化。当db再次被播种时,它不是#13:3。我创建了这个简单的结构来尝试您的案例: create property V.id integer create vertex V set id = 1 create vertex V set id = 2 create vertex V
后删除顶点v
要从oriendb数据库中删除所有记录,如何重置RecordId(@rid)以重新开始
我想运行测试,所以在删除所有记录后,我会再次为记录设置种子;我测试了一个特定的记录#13:3,但它在被撕毁后发生了变化。当db再次被播种时,它不是#13:3。我创建了这个简单的结构来尝试您的案例:
create property V.id integer
create vertex V set id = 1
create vertex V set id = 2
create vertex V set id = 3
create vertex V set id = 4
create vertex V set id = 5
现在,V类具有以下RID和记录:
select from V
----+----+------+----
# |@RID|@CLASS|id
----+----+------+----
0 |#9:0|V |1
1 |#9:1|V |2
2 |#9:2|V |3
3 |#9:3|V |4
4 |#9:4|V |5
----+----+------+----
但是如果你执行命令
truncate class V unsafe
Truncated 5 record(s) in 0,016000 sec(s).
将删除类别V中的所有记录(而不是手动删除),并重置@rids
。现在,如果执行一个新的create vertex V set id=1
命令,@rid#9:0
将被重新分配给第一个重新插入的记录。以下是重新插入的示例:
create vertex V set id = 1
Created vertex 'V#9:0{id:1} v1' in 0,015000 sec(s).
现在,如果您查询类V,您将看到@rid#9:0
被重新分配
select from V
----+----+------+----
# |@RID|@CLASS|id
----+----+------+----
0 |#9:0|V |1
----+----+------+----
希望它能有所帮助Hi Karim,你是在寻找一个OSQL命令,每当你删除所有记录(例如从9:0重新启动)时,它都会重置
@rid
类,对吗?是的,这就是我要找的@LucaSHi Karim,我刚刚回答过。希望能有帮助。非常感谢!这有帮助!然而,我必须使用截断V类多态性不安全
,然后还要截断E类多态性不安全
作为其边缘。这仅用于单元测试,用于拆卸数据库更改,不鼓励用于生产Hi Karim,谢谢。在我的例子中,我使用了类V,但是你可以在你想要的每个类上自由地使用这个命令。是的,我只想删除所有的顶点,而不是一个特定的类。所有的类都是V,所以我必须使用多态性