Hier ist meine CQL Tabelle:Woher weiß ich, dass der Datensatz dupliziert oder erfolgreich eingefügt wurde?
CREATE TABLE user_login (
userName varchar PRIMARY KEY,
userId uuid,
fullName varchar,
password text,
blocked boolean
);
ich diesen DataStax java Treibercode
PreparedStatement prepareStmt= instances.getCqlSession().prepare("INSERT INTO "+ AppConstants.KEYSPACE+".user_info(userId, userName, fullName, bizzCateg, userType, blocked) VALUES(?, ?, ?, ?, ?, ?);");
batch.add(prepareStmt.bind(userId, userData.getEmail(), userData.getName(), userData.getBizzCategory(), userData.getUserType(), false));
PreparedStatement pstmtUserLogin = instances.getCqlSession().prepare("INSERT INTO "+ AppConstants.KEYSPACE+".user_login(userName, userId, fullName, password, blocked) VALUES(?, ?, ?, ?, ?) IF NOT EXIST");
batch.add(pstmtUserLogin.bind(userData.getEmail(), userId, userData.getName(), passwordEncoder.encode(userData.getPwd()), false));
instances.getCqlSession().executeAsync(batch);
Hier ist das Problem ist, dass, wenn ich IF NOT EXIST
alle entfernen funktionieren gut, aber wenn es es einfach auszudrücken wieder nicht Fügen Sie Datensätze in die Tabelle ein, und werfen Sie keinen Fehler auf.
Woher weiß ich, dass ich das Duplikat userName
einfüge?
Ich bin mit cassandra 2.0.1
ich habe mehrere Aussage das ist, warum ich Batch verwende. Hier für die Einfachheit zeige ich nur eine Aussage – manish
In meiner ursprünglichen Frage machte ich diese Änderungen 'instances.getCqlSession(). Execute (Batch) .wasApplied()' und ich bekomme 'com.datastax.driver.core.exceptions.UnavailableException : Nicht genug Replik für die Abfrage bei Konsistenz Quorum verfügbar (2 erforderlich, aber nur 1 am Leben) 'Ich bin diese App auf meinem lokalen System ausgeführt – manish
Ich habe meine Frage für mehr Klarstellung aktualisiert – manish