[英]How do I get the last value of primary key in cassandra(php)?
如何在Cassandra-php中獲取主鍵的最后一個值? 我的意思是,我們有一個函數來獲取在PHP中用於MYSQL的最后一個查詢mysql_insert_id
中生成的ID。 同樣, Cassandra還有什么? 你能幫我解決這個問題嗎? 假設這是我的樣本表,我如何獲得主鍵的最后一個值?
userId | BookId (primary key) | Genrecode
--------------------------------------------------------------
22 | 9a9fa429c3494137 | ART4
56 | 9a9fa429b3496137 | 45RT
89 | 9a9ga429a3496132 | ER68
20 | 249ga429a9096542 | QW3Y
29 | 249kg429a2393652 | QWE5
12 | i55oa429a9093462 | 9ER4
08 | e4235k594ik9654r | WRUO
您可以看到這個答案: Cassandra列鍵自動增量 ,它解釋了為什么Cassandra中沒有auto_increment,因此沒有last_insert_id()。 您需要生成有意義的密鑰或使用UUID
正如Alar所提到的,沒有自動增量/ last_insert_id(),鏈接的文章就是為什么。
話雖這么說,像這樣的問題變成了數據模型問題。
如何在Cassandra(-php)中獲取主鍵的最后一個值
我建議在Cassandra中創建一個單獨的表來跟蹤創建的密鑰。 類似於: PRIMARY KEY((day),timestamp) and sort timestamp in DESC
這將允許您: SELECT key FROM key_log WHERE day=today limit 1
獲取為該特定日期創建的最新密鑰。 根據生成的密鑰頻率,您可能必須更改分區鍵以更均勻地分配數據。
我發現以這種方式跟蹤生成的密鑰通常是一個好主意,因為你永遠不知道最終需要覆蓋哪種應用程序邏輯,這樣就可以避免應用程序繁重的數據遷移。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.