Cassandra 将数据插入数据类型为 <text> 的 table 列

Cassandra insert data into table column with data type set<text>

我们正尝试在 Cassandra 中使用 set 列数据类型在 table 上设置 INSERT 语句,但没有成功。这是一个例子:

INSERT INTO test_table
    (my_items)
VALUES
    ([{"test1":"test val 1","test2":"test val 2"}])

结果总是类似于:

no viable alternative at input for [test val ]2

将值括在大括号中并用逗号分隔

示例:

让我们有架构:

CREATE TABLE users (
  user_id text PRIMARY KEY,
  first_name text,
  last_name text,
  emails set<text>
);

插入:

INSERT INTO users (user_id, first_name, last_name, emails)
    VALUES('frodo', 'Frodo', 'Baggins', {'f@baggins.com', 'baggins@gmail.com'});

更新:

UPDATE users SET emails = emails + {'fb@friendsofmordor.org'} 
     WHERE user_id = 'frodo';

更多Using the set type


已编辑

如果您想将值 "test1":"test val 1""test2":"test val 2" 插入到集合中,则 用单引号将每个值括起来

示例:

INSERT INTO users (user_id, first_name, last_name, emails)
    VALUES('2011331035', 'Md Ashraful', 'Islam', {'"test1":"test val 1"', '"test2":"test val 2"'});