鉴于以下表格:
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);
答案 0 :(得分:0)
据我所知,这是不可能的。