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,所以我必须使用多态性