如何在cassandra中插入包含$as值的json对象

voj3qocg  于 2021-06-15  发布在  Cassandra
关注(0)|答案(1)|浏览(340)

我必须通过datasax在cassandara数据库中添加几个值作为货币,其中一个值是$。但它正在失败。

INSERT INTO concept_value_set (concept_name,value_set) 
    VALUES ('@CurrencyType',{'Dollar', 'Usd', 'Euro', 
    'Pound', 'Frank', 'Renminbi', '$'});

这会导致系统出现问题。
我试图逃跑 $ 使用

INSERT INTO concept_value_set (concept_name,value_set) 
   VALUES ('@CurrencyType',{'Dollar', 'Usd', 'Euro', 
   'Pound', 'Frank', 'Renminbi', '$$'});

但它也失败了。
有办法逃跑吗 $ 在这里。我在上面找不到任何合适的链接。

eufgjt7s

eufgjt7s1#

我认为美元符号不是你的问题。我认为这取决于json值是如何使用单引号的。重建您的表(基于提供的信息),我提出了以下结构:

CREATE TABLE concept_value_set (
  concept_name TEXT PRIMARY KEY,
  value_set TEXT);

我成功地做到了:

cassdba@cqlsh:stackoverflow> INSERT INTO concept_value_set JSON '{
    "\"concept_name\"":"@CurrencyType",
    "\"value_set\"":"Dollar, Usd, Euro, Pound, Frank, Renminbi, $"}';

现在,我可以查询表中的文本:

cassdba@cqlsh:stackoverflow> SELECT * FROM concept_value_set
                             WHERE concept_name='@CurrencyType';

 concept_name  | value_set
---------------+----------------------------------------------
 @CurrencyType | Dollar, Usd, Euro, Pound, Frank, Renminbi, $

(1 rows)

还可以查询表中的json,如下所示:

cassdba@cqlsh:stackoverflow> SELECT JSON value_set FROM concept_value_set
                             WHERE concept_name='@CurrencyType';

 [json]
---------------------------------------------------------------
 {"value_set": "Dollar, Usd, Euro, Pound, Frank, Renminbi, $"}

(1 rows)

您可以在apache cassandra项目文档主站点以及datastax的文档站点(insert json,query json)上找到有关在cassandra中使用json的更多信息。
希望这有帮助。

相关问题