[英]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.