如何在cql脚本中重用uuid

时间:2016-08-18 13:40:50

标签: scripting cassandra cql dml

鉴于以下表格:

CREATE TABLE videos (
    video_id UUID,
    added_date TIMESTAMP,
    description TEXT,
    title TEXT,
    user_id UUID,
    PRIMARY KEY (video_id)
);

CREATE TABLE videos_by_title_year (
    title TEXT,
    added_year INT,
    added_date TIMESTAMP,
    description TEXT,
    user_id UUID,
    video_id UUID,
    PRIMARY KEY ((title, added_year))
);

创建新视频时,必须将其添加到这两个表中。两者中的video_id必须相同。在应用程序方面,您将以编程方式解决此问题。

我正在为测试环境设置数据编写一些cql dml脚本。所以基本上是一长串INSERT语句。

INSERT (video_id, ... , user_id) INTO videos VALUES (uuid(), ...);
INSERT (title, ... , video_id) INTO videos_by_title_year VALUES ('Forrest Gump', ... , uuid());

在这种情况下,video_id会有所不同。我可以在cql脚本中重用生成的UUID吗?或者是在我的脚本中手动设置id的唯一可行解决方案,如下所示?

INSERT (video_id, ... , user_id) INTO videos VALUES (7bd6e4ae-0ef2-11e5-9de3-8438355b7e3a, ...);
INSERT (title, ... , video_id) INTO videos_by_title_year VALUES ('Forrest Gump', ... , 7bd6e4ae-0ef2-11e5-9de3-8438355b7e3a);

1 个答案:

答案 0 :(得分:0)

据我所知,这是不可能的。