orientdb - `DELETE VERTEX v;`之后如何重置RecordId?

标签 orientdb database nosql

执行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/

相关文章:

javascript - OrientDB Javascript 服务器端函数

orientdb - 使用 ArangoDb/OrientDb 进行分层数据模型和文档搜索 : is the right solution?

database - Lua/ComputerCraft 中的在线数据库

sql - 如何创建验证 friend 的 friend 的 SQL 查询

json - CosmosDB : Can a key be a duplicated? 键:值(documentDB/SqlAPi)

python - 如何将gremlin服务器与orientDB连接

java - Tomcat 7 上的 OrientDB JDBC 连接器池

database - 如何将数据库字段的内容与文本文件的内容同步?

sql - 如果值与第二个表匹配,则从一个表中提取值

architecture - 使用外部 API 和智能内容建议为移动应用程序设置架构