How to auto generate uuid in cassandra CQL 3 command line

cassandra, cql, cql3

Solution

You can with time uuids (type 1 UUID) using the now() function e.g.

insert into stuff (uid, name) values(now(), 'my name');

Works with uid or timeuuid. It generates a "guaranteed unique" UID value, which also contains the timestamp so is sortable by time.

There isn't such a function for type 4 UUIDs though.

UPDATE: This note pertains to older versions of Cassandra. For newer versions, see below.

Problem

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) values('my name'); // fails insert into stuff (uid, name) values(1, 'my name'); // fails ``` Can you do something like ``` insert into stuff (uid, name) values(nextuid(), 'my name'); ```

Original source

Related problems