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 –