4

在设置 cassandra (0.8.4) 并通过 CLI 使用 insert 和 select 进行测试后,我继续使用 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)
4

1 回答 1

8

first是 CQL 关键字,您需要将其放在引号中。尝试:

String sql = "INSERT INTO row ('KEY', 'first', 'last', 'age') VALUES ( 'Jones', 'Jones', 'Lang', '32');";
于 2011-08-19T11:06:21.263 回答