0
考虑下表:如何重用UUID在CQL脚本
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);
您使用哪个cassandra版本? –
目前我被困在2.1 – pjanssen
你可以在应用程序端管理UUID吗?喜欢:生成一个UUID,然后插入视频,然后插入在videos_by_title_year与相同的uuid –