【问题标题】:How to insert a newline(\n) inside a String(text) into Cassandra by CQLSH command?如何通过 CQLSH 命令在字符串(文本)中插入换行符(\n)到 Cassandra?
【发布时间】:2016-03-14 03:03:19
【问题描述】:

更新: 如果我通过 python 驱动程序脚本插入同一行,则换行符正在工作。

session.execute("INSERT INTO ctable" + " (cid, cstring) VALUES (%s, %s)", ('2', 'row1\nrow2'))

还是不明白为什么 CQLSH 命令不起作用。

原问题: 我正在尝试通过 CQLSH 命令将一个很长的字符串插入 Cassandra,并在显示时添加一个 '\n' 以将字符串分成两行。

我试过了

insert into ctable (cid, cstring ) values('2', 'row1\nrow2');
insert into ctable (cid, cstring ) values('2', 'row1\\nrow2');
insert into ctable (cid, cstring ) values('2', 'row1\r\nrow2');

以上语句均无效,所有 \n 都被视为常规字符。 有人可以帮忙吗?

【问题讨论】:

    标签: cassandra cqlsh cassandra-cli


    【解决方案1】:

    简短回答:cqlsh 不会以任何方式处理字符串中的转义字符。如果要插入换行符 \n 等不可打印字符,请使用适用于您的语言的 cassandra 驱动程序。如需详细答案,请参阅discussion for issue CASSANDRA-8790

    【讨论】:

    • 谢谢!我正在为 Cassandra 使用 python 驱动程序,它可以工作。
    【解决方案2】:

    如果您在输入字符串时实际按下回车键,您可以直接在 CQLSH 中执行此操作。而不是输入字符 '\n' 只需按回车键。 CQLSH 应显示 3 个点,表示其在新行中添加内容。

    我知道现在回复为时已晚,但将答案留给像我这样将来搜索此问题的人。

    【讨论】:

      【解决方案3】:

      你可以试试这个SQL,直接回车:

      insert into ctable (cid, cstring ) values('2', 'row1
      row2');
      
      

      【讨论】:

      • FocusBlast 给出了相同的答案 - 为什么要重复?
      猜你喜欢
      • 2014-06-07
      • 1970-01-01
      • 2020-12-17
      • 2014-03-11
      • 2011-05-04
      • 2016-05-29
      • 1970-01-01
      • 1970-01-01
      • 2012-11-16
      相关资源
      最近更新 更多