java - creating column family in cql? -
when create column family using cql gives me unexpected output.
public static void createcolumnfamily() { try { class.forname("org.apache.cassandra.cql.jdbc.cassandradriver"); connection con = drivermanager.getconnection("jdbc:cassandra://192.168.1.32:9160/temp"); string qry = "create table users(user_name varchar," + "password varchar," + "gender varchar," + "session_token varchar," + "birth_year bigint," + "primary key (user_name)" + ")"; statement smt = con.createstatement(); smt.executeupdate(qry); system.out.println("table(column family) created"); con.close(); } catch(exception e) { system.out.println(" : " + e.getmessage()); } }
here got : line 1:132 extraneous input ')' expecting eof
you're using cql 2, not support style of primary key declaration. if want declare way, should using cql 3, can accomplish requesting version in connection url:
drivermanager.getconnection("jdbc:cassandra://192.168.1.32:9160/temp?version=3.0.0");
however, cql 3 isn't necessary this. steve van opstal suggested, can put primary key
marker column definition itself, since don't have multi-component primary key.
create table users( user_name varchar primary key, password varchar, gender varchar, session_token varchar, birth_year bigint, );
cql 3 preferred if cassandra supports it, way forward, in case don't want switch right now, can make second change.
Comments
Post a Comment