我一直在瞎搞与orientdb SQL,我想知道是否有更新顶点的边缘的方式,它的一些数据一起。
假设我有以下数据:顶点:人,房边:内部(从人到房间)
就像是:
UPDATE Persons SET phone=000000, out_Inside=(
select @rid from Rooms where room_id=5) where person_id=8
显然,上述不起作用。 它抛出异常:
Error: java.lang.ClassCastException: com.orientechnologies.orient.core.id.ORecordId cannot be cast to com.orientechnologies.orient.core.db.record.ridbag.ORidBag
我想看看在GitHub上的搜索来源为袋1项的语法,但找不到任何(发现%,但这似乎是序列化没有为SQL)。
(1)有没有办法做到这一点呢? 我该如何更新连接? 有没有连的方式,还是我不得不创建一个新的边缘,并删除旧的?
(2)当写这个,就来到了我的脑海里,也许边缘不是在这种情况下要走的路。 也许我应该用一个链接。 我不得不说,我不知道什么时候使用它,或者什么都涉及到使用其中的任何影响。 我也发现这个虽然:
https://groups.google.com/forum/#!topic/orient-database/xXlNNXHI1UE
从顶部LVC @,他说的,评论3:
"The suggested way is to always create an edge for relationships"
此外,即使我应该使用一个链接,请(1)响应。 我会很乐意反正知道答案。
PS我的方案,一个人只能是在一个房间。 这很可能会在未来不发生改变。 显然,边上有,在情况下,我可能要改变它(即使是不可能,可能是)的优势,这将是非常容易的。
溶液(部分)
(1)的解决方案是简单地以除去场选择。 感谢Lvca指点出来!
(2)不--Still sure--