如何从cassandra表中获取下一个id

时间:2017-06-01 13:37:04

标签: select cassandra insert cql

我需要在表格中插入下一个增量ID 试图将语法用作mysql。

INSERT INTO demo.log ( id, transaction_type , transaction_time, transaction_data, session_id ) VALUES ( select max(id)+1 from demo.log ,'master' ,'2017-05-27 14:30:54.234' ,'1›6378925487955990›1›0›251›96544›/Date(1474519292176+0800)/›200›3›1›0' ,'789789d7f9-k97f8gh9f8f-001' );

错误:

  

语法异常:第1行:117输入时没有可行的选择'选择' (...,session_id)VALUES([(] select ...)

1 个答案:

答案 0 :(得分:3)

您不能这样做(子查询),没有支持它的功能,也不支持它。你可以用计数器或LWT制作这样的东西,但这是一个非常糟糕的主意。

我建议您使用类型1或4 uuids作为id(设置类型为timeuuid或uuid)。在分布式系统中,原子地递增这样的东西是非常昂贵和复杂的。