2016-12-23 110 views
1

我试图在Purchases类中创建一个顶点以及其与用户类顶点的链接。下面的例子可以帮助你理解我想要达到的目标。如何在OrientDB中创建顶点并创建顶点

Create Edge PurchasedCarts 
    FROM 
    (CREATE VERTEX Purchases SET guid = "44b4dab7-744a-4f13-ae55-3a563e327de9", accountId = '240059', amount = 44, orderNumber = "1496890", totalItems = 2) 
    TO 
    (Select @rid from Users) 

上面的命令产生这个错误

Error parsing query: 
Create Edge PurchasedCarts   FROM   (CREATE VERTEX Purchases SET guid = "44b4dab7-744a-4f13-ae55-3a563e327de9", accountId = '240059', amount = 44, orderNumber = "1496890", totalItems = 2)   TO   (Select @rid from Users) 
    ^
Encountered " <CREATE> "Create "" at line 1, column 1. 
Was expecting one of: 
    <SELECT> ... 
    <TRAVERSE> ... 
    <MATCH> ... 
    <INSERT> ... 
    <RETURN> ... 
    <PROFILE> ... 
    <FIND> ... 
    <REBUILD> ... 
    <OPTIMIZE> ... 
    <GRANT> ... 
    <REVOKE> ... 
    <BEGIN> ... 
    <COMMIT> ... 
    <ROLLBACK> ... 
    <IF> ... 
    <SLEEP> ... 
    <CONSOLE> ... 

    DB name="*****" 

请帮我说或者你可以建议一些其他更好的方法,我将非常感激。

+0

我不认为你可以做到这一点。您可以使用[批处理](http://orientdb.com/docs/2.2/SQL-batch.html) –

回答

0

CREATE VERTEX语句不支持,但你可以在除了与UNSAFE关键字使用INSERT INTO

insert into PurchasedCarts set out=(insert into Purchases SET guid = "44b4dab7-744a-4f13-ae55-3a563e327de9", accountId = '240059', amount = 44, orderNumber = "1496890", totalItems = 2), in=(select from Users) unsafe 

PS

关于目的地的选择使用select from Users代替select @rid from Users

+0

避免@rid有什么好处? –