How to auto generate uuid in cassandra CQL 3 command line

后端 未结 4 1503
名媛妹妹
名媛妹妹 2020-12-25 11:14

Just learning cassandra, is there a way to insert a UUID using CQL, ie

create table stuff (uid uuid primary key, name varchar);
insert into stuff (name) valu         


        
4条回答
  •  别那么骄傲
    2020-12-25 11:42

    A UUID is a Universally Unique ID used to avoid collisions.

    Cassandra 2.0.7 and later versions include the uuid() function that takes no parameters and generates a Type 4 UUID for use in INSERT or SET statements.

    You can also use a timeuuid type with a function like now(). They generate a Type 1 UUID.

    The difference between Type 1 and Type 4 UUIDs is that a Type 1 UUID is generated using a timestamp and a Type 4 is generated using random numbers.

    If you want to use a timeuuid as a uuid use something like blobAsUuid(timeuuidAsBlob(now())), since the value returned by now() is guaranteed to be unique.

    References:

    http://docs.datastax.com/en/cql/3.3/cql/cql_reference/uuid_type_r.html

    http://docs.datastax.com/en/cql/3.3/cql/cql_reference/timeuuid_functions_r.html

    http://docs.datastax.com/en/cql/3.3/cql/cql_reference/blob_r.html

提交回复
热议问题