0

Cassandra接続を正常に作成し、テーブル emp があるキースペース名シンプレックスを作成しました。今、 emp テーブルにランダムに値を挿入したい..しかし、それは示しています

列名/値の不一致エラー。エラーを理解できません。これは私のコードです

import java.util.Random;

import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Host;
import com.datastax.driver.core.Metadata;
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Row;
import com.datastax.driver.core.Session;

public class RandomTableInsertion {


    private Session session;
    private Cluster cluster;

    Random r=new Random();


 public void connect(String node ){

 cluster=Cluster.builder().addContactPoint(node).build();
 Metadata metadata=cluster.getMetadata();
 System.out.println("Cassandra Connection Established");
 System.out.printf("Connected to cluster:%s\n",metadata.getClusterName());

 for(Host host:metadata.getAllHosts()){

     System.out.printf("dataCenter :%s; Host: %s; Rack:%s\n",host.getDatacenter(),host.getAddress(),host.getRack());
     session = cluster.connect("simplex");
 }

 }


 public void close() {
 cluster.shutdown();
 }



 public void duplicateSchema() {
 session.execute("CREATE KEYSPACE duplex WITH replication " +
         "= {'class':'SimpleStrategy', 'replication_factor':1};");

    session.execute("CREATE TABLE simplex.emp (" + "id int PRIMARY KEY,"
            + "roll int," + "marks1 int," + "marks2 int,"
            +"marks3 int" + ");");

    System.out.println("Schema is created");

}



 public void loadData() {


    session.execute("INSERT INTO emp (id, roll, marks1, marks2, marks3) "
            + "VALUES ("+r.nextInt(2)+ r.nextInt(2)+ r.nextInt(2)+r.nextInt(3) +r.nextInt(2)+")");

    System.out.println("Table Creation Successful");

}




public static void main(String[] args) {


    RandomTableInsertion random=new RandomTableInsertion();
    random.connect("127.0.0.1");
    //random.createSchema();
    //random.duplicateSchema();
    random.loadData();
    random.close();
}

}

これは私のコードです。列と値が一致しない場所を理解できません。誰か助けてください....

4

0 に答える 0