Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过CQLSH命令将字符串(文本)中的换行符(\n)插入Cassandra?_Cassandra_Cqlsh_Cassandra Cli - Fatal编程技术网

如何通过CQLSH命令将字符串(文本)中的换行符(\n)插入Cassandra?

如何通过CQLSH命令将字符串(文本)中的换行符(\n)插入Cassandra?,cassandra,cqlsh,cassandra-cli,Cassandra,Cqlsh,Cassandra Cli,更新: 如果我通过python驱动程序脚本插入同一行,则换行符可以工作 session.execute(“插入ctable”+“(cid,cstring)值(%s,%s)”,('2','row1\nrow2')) 仍然不明白为什么CQLSH命令不起作用 原始问题: 我试图通过CQLSH命令在Cassandra中插入一个很长的字符串,并在显示时添加一个“\n”将字符串拆分为两行 我试过了 insert into ctable (cid, cstring ) values('2', 'row1\nr

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

session.execute(“插入ctable”+“(cid,cstring)值(%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均被视为正常的行为人。
有人能帮忙吗?

简短回答:cqlsh不以任何方式处理字符串中的转义字符。如果要插入不可打印的字符,如换行符,\n请为您的语言使用cassandra驱动程序。有关详细答案,请参见

如果在键入字符串时按enter键,您可以直接在CQLSH中执行此操作。只需按enter键,而不是输入字符“\n”。CQLSH应在新行上显示3个点,指示其添加内容


我知道现在回答这个问题已经太晚了,但将答案留给像我这样的将来搜索这个问题的人。

您可以尝试使用此SQL,只需使用enter:

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


谢谢我使用的是用于Cassandra的python驱动程序,它可以工作。FocusBlast给出了相同的答案-为什么要复制?