在设置cassandra(0.8.4)并使用insert进行测试并通过CLI进行选择之后,我继续使用CQL进行JDBC(1.0.3)。
这就是我在下面的代码中遇到SQLException的问题吗?
Connection conn = DriverManager.getConnection(url);
String sql = "INSERT INTO row (KEY, first, last, age) VALUES ( 'Jones', 'Jones', 'Lang', '32');"; // internal error
Statement stmt = conn.createStatement();
stmt.execute(sql);
例外:
java.sql.SQLException: line 1:22 no viable alternative at input 'first'
at org.apache.cassandra.cql.jdbc.CassandraStatement.execute(CassandraStatement.java:160)
at Cassandra.Insert.main(Insert.java:22)
答案 0 :(得分:7)
first
是一个CQL关键字,您需要将其放在引号中。尝试:
String sql = "INSERT INTO row ('KEY', 'first', 'last', 'age') VALUES ( 'Jones', 'Jones', 'Lang', '32');";