执行DELETE VERTEX v;
从oriendb数据库中删除所有记录后,如何重置RecordId (@rid)以重新开始?
我想运行测试,因此在删除所有记录后,我再次播种记录;我测试了一个特定的记录#13:3,但在拆解后它发生了变化。当数据库再次播种时,它不是 #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 级有这样的摆脱和记录:
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
----+----+------+----
希望对你有帮助
关于orientdb - `DELETE VERTEX v;`之后如何重置RecordId?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35468114/